1、背景
开发运维中时常面临的场景是:开发+运维或者测试对于提交的代码部署到服务器时,存在频繁打包,手动ftp替换复制等耗时耗力操作。另外开发人员自测时,针对小问题更改或者同组人员同时更改导致版本不一致需要人工整理再上传等问题,Jenkins便可以实现自动化部署。
2、简介
2.1 Jenkins自动化部署实现原理
2.2 部署环境准备
本文只讨论Java环境部署,其他环境请参考官方文档:Jenkins
1、jdk,Jenkins由Java语言开发,因此需要Java环境
2、git/svn,用于拉取代码
3、maven,项目运行需要,其他gradle等道理类似
2.3 Jenkins安装
1、window下msi安装文件,双击安装
2、window或Linux下安装 .war文件,运行命令 java -jar jenkins.war --httpPort=8080启动,或将.war文件放置在tomcat/webapps目录下,启动tomcat即可。
修改端口方法:
1、执行命令:“java -jar jenkins.war --ajp13Port=-1 --httpPort=8088”
2、在jenkins的默认安装路径下面,打开jenkins.xml文件。在里面搜索8080,将这个端口改成其他的内容,比如8088
3、打开浏览器当问:http://localhost:8080
4、根据提示,完成输入密码操作、安装推荐的插件、设计登录用户名密码,完成后进入页面
2.4 Jenkins基本配置
1、Configure System (系统设置)
配置项自行查阅,下面只配置了这两个
2、Configure Global Security (全局安全配置)
可保持默认
3、Global Tool Configuration (全局工具配置 )
maven配置:
JDK配置:可选择自动安装
git配置:写到git.exe
maven安装配置:
4、插件安装
推荐插件:Publish over SSH、Deploy to container Plugin
3、自动化部署
1、创建一个item
2、基础配置,写上描述
3、源码管理
4、构建触发器,下面演示通过访问url触发项目构建,即每次访问url都会拉取代码打包部署。这里的回调url要保证能访问到。可使用花生壳等工具进行内网映射。然后在github上设置钩子回调url
5、构建环境
6、6、构建
7、构建后操作
意思是,jar包打包好了,如何部署到服务器,这里涉及到部署的服务器、部署具体操作、程序启动停止脚本等操作
保存配置,试验修改代码提交git,访问程序查看是否生效。
本例没有设置构建后操作,自动构建成功。