安装基础环境
- mysql,参考linux安装mysql5.6.29实录
- redis,参考linux安装redis实录
- rabbitmq,参考linux安装rabbitmq实录
- activemq
准备windows开发环境
- 参考开发工具及安装规划
- 根据实际情况调整c:/windows/system32/drivers/etc/hosts配置
112.205.4.43 activemqhost
112.205.4.43 mysqlhost
112.205.4.43 rabbitmqhost
112.205.4.43 redishost
下载ciHelper1.4版本,install本地
#以下操作需要在git bash中执行
cd d:/workshop
git clone https://git.oschina.net/fastjrun/ciHelper.git
cd ciHelper
git checkout v1.4
mvn clean install -Pnocheck
下载ciAgent1.0版本,install到本地
#以下操作需要在git bash中执行
cd d:/workshop
git clone https://git.oschina.net/fastjrun/ciagent.git
cd ciagent
git checkout v1.0
#先install本地cidev-api和xercesImpl
cd lib
mvn install:install-file -Dfile=cidev-api-1.0.2-SNAPSHOT.jar -DgroupId=com.fastjrun -DartifactId=cidev-api -Dversion=1.0.2-SNAPSHOT -Dpackaging=jar
mvn install:install-file -Dfile=xercesImpl-2.9.1.jar -DgroupId=xerces -DartifactId=xercesImpl -Dversion=2.9.1 -Dpackaging=jar
cd ..
mvn clean install -Pnocheck,local
本项目中Base和Module模块是通过快嘉网提供的服务动态生成的,ciAgent是一个maven插件,作为代理和快嘉网发生交互,具体如何发生作用可以看ciAgent代码。ciAgent如何用可以参考Base和Module的pom.xml配置。
下载demo
参考Rest/Config/pom.xml中的profile的id为local的配置信息调整mysql、redis、activemq和rabbitmq的参数,并导入fast_demo.sql和testdata.sql
#以下操作需要在git bash中执行
cd d:/workshop
git clone https://git.oschina.net/fastjrun/demo.git
cd demo
git checkout v1.3
mvn clean install -Pnocheck -pl .,Util,Common,Base,Bundle,Persistence-Impl,Service-Impl
mvn clean package -Pnocheck -pl Web/Config,Web/Main,Rest/Config,Batch
#Rest/Main的配置中为了试验properties-maven-plugin用法,配置了相对文件目录
cd Rest/Main
mvn clean package -Pnocheck,local
备注: 如果没有配置私服,且第一次用maven,可能会比较慢,而且会容易被中断,多试几次,直到你看到以上步骤全部OK。强烈推荐用私服,这样你可以将以上所有install命令或者deploy(除cidev-api和xercesImpl需要upload到私服),考虑到你可能上私服,我在所有的pom里放的distributionManagement节点配置的域名是www.mycompany.com,你只需要在hosts文件里将这个域名指向你的私服地址即可。
部署
- 安装tomcat后,tomcat目录为d:/app/server/tomcat8
- 配置
#以下操作需要在git bash中执行
cd d:/workshop
#以下操作需要在git bash中执行
rm -rf /d/app/demo/Rest/config &&
rm -rf /d/app/demo/Web/config &&
rm -rf /d/app/demo/batch &&
cp -R Rest/Config/target/config/config /d/app/demo/Rest &&
cp -R Web/Config/target/config/config /d/app/demo/Web &&
cp -R Batch/target/batch/batch /d/app/demo/batch &&
cp Rest/Main/target/demo-Rest.war /d/server/tomcat8/webapps &&
cp Web/Main/target/demo-Web.war /d/server/tomcat8/webapps
启动
- 资源浏览器打开d:/app/demo/batch;双击startup.sh,启动批处理调度;
- 资源浏览器打开d:/server/tomcat8/bin;双击startup.sh,启动tomcat。
验证
- 验证demo-Web,用普通浏览器打开http://192.168.5.245:8080/demo-Web/manage.html
- 用postman验证demo-Rest
- 举个例子,比如我们验证demo提供的注册接口,header设置application/json; charset=UTF-8
- 例如:method选择post、url填http://192.168.5.245:8080/demo-Rest/api/user/register/authtest/20170101102050385, body选择JSON(application/json),请求报文如下所示
- 如果没啥意外,响应报文应该如下
- 此时打开d:/app/demo/logs/batch.log,可以看到一条日志如下
- 表明batch也验证成功。
代码生成服务能力
- demo.pdm变更后,Base会重新生成源码,主要是单表对应的javabean和基于单表的增删改查操作类
- demo_user.xml维护了接口定义、输入参数定义、返回参数定义,接口业务和批处理作业业务定义,对应这部分的代码会在Bundle模块生成