接上一篇CentOS7 下安装配置Jenkins01------安装Jenkins,我们把Jenkins 安装成功之后,接下来看看如何配置Jenkins。
Jenkins 插件管理
1.打开管理插件页面:
2.一个构建Maven 项目插件
3.一个发布到Tomcat的插件
选择直接安装。
PS : 如果插件安装失败,请检查升级站点(插件管理----->高级)
http://mirror.xmission.com/jenkins/updates/current/update-center.json
Jenkins 全局配置
系统管理-----》全局工具配置,需要把服务器的jdk,maven,git 等环境配置好。
构建jar项目
共同配置
新建Maven项目
配置git或者svn地址,jenkins会自动从远程仓库拉去最新代码。
jenkins与应用服务器同一台机器
经过上一个步骤之后,jenkins会在默认路径/root/.jenkins/workspace/上看到打包的项目,/root/.jenkins/workspace/FlyBlog/target 目录下有打包的jar文件,fly_blog-0.0.1-SNAPSHOT.jar。因此我们打包完成之后的工作就是要替换原来的jar文件后,然后重启项目。
shell 脚本如下:
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。 export #指定最后编译好的jar存放的位置 www_path=/opt/jar #Jenkins中编译好的jar位置 jar_path=/root/.jenkins/workspace/FlyBlog/target/ #Jenkins中编译好的jar名称 jar_name=fly_blog-0.0.1-SNAPSHOT.jar #进入指定的编译好的jar的位置 cd ${jar_path} #将编译好的jar复制到最后指定的位置 cp ${jar_path}/${jar_name} ${www_path} #进入最后指定存放jar的位置 cd ${www_path} #获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程 pid=$(ps -ef |grep $jar_name | grep -v grep | awk '{print $2}') count=$(ps -ef |grep $jar_name | grep -v grep|wc -l) if [ $count != 0 ];then kill -9 $pid fi #启动jar BUILD_ID=dontKillMe nohup java -jar $jar_name > out.log & if [ $? = 0 ];then sleep 30 tail -n 50 out.log fi echo '结束启动项目~~~~'
BUILD_ID=dontKillMe nohup java -jar $JARFILE > out.log &
其中BUILD_ID=dontKillMe 表示jenkins 不杀掉衍生的线程
nohup 表示不用提示。
至此,项目就会自动部署,只需要点击构建按钮,jenkins就会自动拉取罪行代码并重启项目。
流程如下:
1.首先创建maven项目
2.配置项目的git仓库地址
3.配置maven构建命令(打包命令)
4.打包完成之后执行shell实现切换jar, 重新部署项目。
码云Hook自动构建
参考:https://gitee.com/oschina/Gitee-Jenkins-Plugin
这里是要利用码云的webHooks 功能
首先jenkins中安装gitee插件,实现自动化部署插件
码云链接配置
然后,在 系统管理—》系统设置 中增加gitee 设置
链接名随便填,域名URL 填写https://gitee.com
点击测试链接,返回成功的话表示配置正确
ID, Descripiton 中输入你想要的 ID 和描述即可。
配置了gitee的链接之后,接下来就是使用。
系统配置好之后,就找到对应的项目上进行配置,例如:FlyBlog 项目上
接着我们需要配置触发器
触发器也配置好 之后,我们就需要在对应的码云上的仓库上配置WebHooks,前面在jenkins 上给出的地址是http://你的ip:8081/project/FlyBlog但是我的Jenkins的端口是8082,遂改成了 8082端口。
至此,我们Jenkins的自动化部署就完成了,以后我们将代码提交到gitee 中,Jenkins就会自动部署。