jenkins持续集成流程说明:
回想一下我们的发布流程:
- 本地把项目打包
- 通过FTP等工具,传输到服务器
- 关闭tomcat,把打包的项目放到webapp目录下
- 启动tomcat
如果每次都这么搞的话,不仅慢,而且容易出错。
有了jenkins以后,发布流程可以是这样:
- 用户在jenkins上点击某个按钮进行发布
- jenkins收到发布命令
- jenkins从SVN或者GIT上把源代码download下来
- jenkins根据你设置的mvn命令进行打包
- jenkins把你打包的好的war工程传输到tomcat的webapps目录下
- tomcat启动
对于程序员而言,只要做两件事:
- 在jenkins上配置某个项目的部署流程
- 在jenkins上点击某个项目的部署按钮,进行一键部署
实际上,配置往往只做一次,其余的时候,你只要一键部署就可以了
下面是一个持续集成流水线搭建的案例:
jenkins+Tomcat+Maven+Git+Shell环境的搭建
配置思路:
- jenkins调用git把Git上的代码下载到jenkins服务器
- maven构建成war包
- 调用ssh运行shell脚本完成备份
- 停服务
- 清webapps
- 拷war包到tomcat下
- 起服务
一、安装jenkins环境,
- 系统centos7.6,关闭iptables,selinux等
- 安装tomcat,用于部署部署jenkins.war
- 安装jdk
- 安装maven
- 安装git,yum install –y git
- 安装插件:Maven Integration plugin,可以使用maven构建
- 安装git plugin插件,用来git代码
- 配置工具:jenkins-Global Tool Configuration中配置jdk.maven环境变量
二、构建项目
例:构建一个maven项目
上传自己的项目代码至gitee,在项目根目录下配置好pom.xml脚本,可以通过命令行在项目根目录下执行mvn clean package打包测试
新建item,选择构建一个maven项目
配置general,配置一些基础参数,配置构建丢弃,构建保留天数和构建个数
配置源码管理,git或svn,需要安装git plugin插件
配置构建触发器,可以配置定时构建,书写格式和linux定时任务格式相同,如每天8点(H 8 * * * )定时构建一次,如果希望jenkins定时自动构建项目,可在Maven项目中配置构建触发器,在 Poll SCM 项中配置定时任务,如 H/30 * * * *,表示每30分钟定时检查版本库,如果发现有新的提交就触发构建
配置build,项目根目录pom.xml文件,可有在项目下执行命令clean package进行打包
在Post Steps下新增execute shell,执行shell脚本,
配置构建后操作,指定包存放路径**/target/*.war;配置邮件信息,具体参考文档
jenkins构建触发器Gitee webhook
jenkins构建触发器Gitee webhook部署思路
- 用户端提交代码至gitee
- gitee检测到代码更新,自动触发给jenkins
- jenkins接受到gitee代码推送信息,开始拉取代码进行构建,发布
- 程序员无需通过jenkins进行发布,只需要本地代码提交至gitee即可实现实时项目发布
gitee配置
————————————————————————————————————
jenkins上配置
填写上gitee api令牌,测试是否连接成功