构建流程图
Jenkins持续集成配置,整体的建议流程图如下: 其实持续集成啊、自动部署啊这些概念的道理很简单,无非是有这么一个中间件工具,能通过自动任务在源码仓库中下载项目源码,然后编译后,可配置部署到服务器上,或其它容器中。
新任务
好了,那么jenkins就是这样的一个工具,安装部署好jenkins后,创建一个新的构建任务: 输入好项目名称,然后选择项目构建方式,这里使用maven构建:
基本配置
点击完成,进入项目基本配置:
- 描述:填写有意义的项目说明
- 丢弃旧的构建:这个是有必要使用的,必定我们服务器硬盘容量是有上限的,可以根据自己的需要来设置删除参数。
源码配置
源码管理,有2个可选项,Git和Subversion(即svn)这里大多使用的是Git,输入可用的Git地址即可(如果Git不是公开的,那么你需要设置访问Key)。
然后源码地址配置好后,再选择你项目的分支,如果没有分支,默认使用*/master分支即可。
构建触发器
构建触发器,也可以理解为构建条件(在什么时候构建),这里可以根据项目需要,选择定时构建、新commit构建等等。
比如在日程表里输入:0 22 * * *
(表示每天晚上十点构建一次)
构建环境
项目使用了maven构建,这里需要配置构建的pom.xml文件,需要在RootPOM中填写你项目的相对pom路径(项目名/pom.xml)。
然后输入maven打包相关的命令,如:clean install package
自动构建脚本
到这里,已经基于Maven编译打包了我们的最新项目,需要编写一些shell脚本来完成自动部署。
这里以本机部署为例(当然也可以部署到其它服务器,需要ssh的安全连接),部署流程:
- 停止之前的项目进程
- 删除之前项目程序,替换最新的项目程序
- 运行最新的项目进程
提供一下部署脚本:
stop.sh(其中corpdata-space-0.0.1.jar这个jar包为你项目的jar名称):
echo "Stopping corpdata-space..."
pid=`ps -ef | grep corpdata-space-0.0.1.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
replace.sh:
cp /root/.jenkins/workspace/空间项目/corpdata-space/target/corpdata-space-0.0.1.jar /usr/local/server/corpdata-space
startup.sh:
java -jar /usr/local/server/corpdata-space/corpdata-space-0.0.1.jar
作者: Zealon
崇尚简单,一切简单自然的事物都是美好的。