用到的代码上线脚本
[root@jenkins scripts]# cat freestyle.sh
#!/bin/bash
#1.进入目录,打包代码
work_Dir=/opt
work_server="172.16.1.7 172.16.1.8"
Date=$(date +%F-%H-%M)
Pkg_name=web_monitor_${Date}
tar_code () {
cd /var/lib/jenkins/workspace/monitor && tar czf ${work_Dir}/${Pkg_name}.tar.gz ./*
}
chmod +x freestyle.sh
#传送代码到节点
#解压压缩包
#删除/code/web
#软连接到/code/web
#重启nginx
scp_code () {
for i in ${work_server}
do
scp -rp ${work_Dir}/${Pkg_name}.tar.gz root@${i}:${work_Dir}
ssh root@${i} "cd ${work_Dir} && \
mkdir ${Pkg_name} -p && \
tar xf ${Pkg_name}.tar.gz -C ${Pkg_name} && \
rm -rf /code/web && ln -s ${work_Dir}/${Pkg_name} /code/web
"
done
}
main () {
tar_code
scp_code
}
main
因为执行过程中涉及到tar 命令所以直接将jenkins的用户改成root
利用我们之前用到的monitor代码模拟使用
新建一个任务
image.png选择gitlab仓库的url地址,同时建立的key
image.png记录标出的url和许可证 先不要保存!!!!
image.png根据提示选择
image.png image.png已经建立好钩子
image.pngjenkins那边继续往下拉,在增加构建步骤这里找到shell执行,然后在服务器那边保存我们的脚本,在这里填入命令,最后保存
image.png在开发这边更改一下代码,然后重新提交到master
image.pngjenkins会有提交的提示,跑完之后,刷新你的网页,发现文字已经修改了
image.pngimage.png
网友评论