1、安装jenkins
在官方网站上下载jenkins的.war文件
https://jenkins.io/download/
安装java-1.8.0-openjdk-devel
安装tomcat,将jenkins.war文件放到tomcat的根目录下
安装nginx,实现用nginx反向代理至tomcat
访问如下网站就可以安装jenkins了
http://www.zhangdazhi.com:88/jenkins
将下面的密码输入即可安装
[root@beijing webapps]#cat /usr/share/tomcat/.jenkins/secrets/initialAdminPassword
0881f080a0c245789dc9d60e0fa374282、安装插件
选择性安装如下插件
进行安装
设置登录到jenkins的账号和密码
3、配置jenkins
设置认证
添加一个远程主机ssh连接时的用户名和密码
添加一个jenkins连接到码云时,登录到码云的用户名和密码
进行管理配置
点击保存即可
4、创建任务
将码云上的代码先同步到jenkins主机,再通过在远程主机上执行命令拷贝到远程主机上,并对之前的版本进行备份
这里要在jenkins主机安装git
点击保存,注意这里要在远程部署的主机上安装rsync,并且将部署的主机的公钥传给jenkins主机,实现ssh秘钥验证,不然在部署的远程主机上执行命令的时候要输入jenkins主机的密码
5、测试
在码云上上传一个代码1.txt
[root@beijing app]#cd /usr/share/tomcat/.jenkins/workspace/[root@beijing workspace]#lsp1 p1@tmp[root@beijing workspace]#cd p1[root@beijing p1]#ls #在jenkins主机发现码云上的代码已经同步到jenkins主机的工作目录中1.txt README.md[root@luoshanji p1]#cd /app/p1 #在部署的远程主机上查看已经复制到网站的目录[root@luoshanji p1]#ls1.txt README.md[root@luoshanji p1]#cd /data/backup/[root@luoshanji backup]#ls #发现之前的版本已经备份p1.2018-01-15-23:42:19 p1.2018-01-15-23:49:10
使用sync命令可以只复制改变的文件,文件内容没有发生改变的不会复制,达到增量复制的目的。
6、利用webhook实现自动触发任务
当码云上有新代码上传时会自动进行部署,可以用于测试环境,生产环境尽量不要自动触发
在jenkins上安装Generic Webhook Trigger Plugin插件
进入用户,查看admin用户的API TOKEN
进入安全设置
在码云上的设置
点击测试出现ok说明成功
URL地址格式:
[root@luoshanji yum.repos.d]#cd /app/p1[root@luoshanji p1]#ls #发现代码已经自动部署到远程主机上1.txt 2.txt README.md[root@luoshanji p1]#cd /data/backup/[root@luoshanji backup]#ls #并且已经备份了
p1.2018-01-15-23:42:19 p1.2018-01-15-23:49:10 p1.2018-01-16-00:45:35 p1.2018-01-16-00:48:49[root@luoshanji backup]#cd p1.2018-01-16-00:48:49[root@luoshanji p1.2018-01-16-00:48:49]#ls1.txt README.md
领取专属 10元无门槛券
私享最新 技术干货