jenkins +gitlab 自动化代码秒级上线
一,配置脚本
1 #!/bin/bash
2 #目标服务器IP地址
3 host=$1
4 #job名称
5 job_name=$2
6 #包名
7 name=web-$(date +%F)-$(($RANDOM+10000))
8 #打包
9 cd /var/lib/jenkins/workspace/${job_name} && tar czf /opt/${name}.tar.gz ./*
10 #发送包到目标服务器
11 ssh ${host} "cd /var/www/ && mkdir ${name}"
12 scp /opt/${name}.tar.gz $host:/var/www/${name}
13 #解包
14 ssh ${host} "cd /var/www/${name} && tar xf ${name}.tar.gz && rm -f ${name}.tar.gz"
15 #使用软链接方式部署服务
16 ssh ${host} "cd /var/www && rm -rf html && ln -s /var/www/${name} /var/www/html"
把文件放在Jenkins服务器的server/scripts里面
二,配置Jenkins
打开任务--->构建
再次点击构建,发现可以成功秒级代码上线
三,触发自动构建
构建触发器:
gitlab操作
执行构建!!
看是否成功,下次执行仓库代码上线的时候直接上线到网站
四,构建后通知gitlab
Jenkins ----->系统管理----->系统设置
返回到给gitlab
下拉菜单!!
复制这个token放到刚刚Jenkins 配置的tokens里
进入Jenkins job页面里面在最下面配置构建后的操作
完成过后点击立即构建
表示成功
点击进入可以发现变更内容
五,配置构建后发送邮件
系统管理----->>>系统设置
找到 配置
拉到最下面配置
进入到job里面选择配置后操作
完成!!
人生就像一滴水,非要落下才后悔!
--kingle