用到的代碼上線腳本
[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
#傳送代碼到節(jié)點
#解壓壓縮包
#刪除/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
因為執(zhí)行過程中涉及到tar 命令所以直接將jenkins的用戶改成root
利用我們之前用到的monitor代碼模擬使用
新建一個任務(wù)
image.png
選擇gitlab倉庫的url地址掂林,同時建立的key
image.png
記錄標出的url和許可證 先不要保存3甲骸!P喊铩精置!
image.png
根據(jù)提示選擇
image.png
image.png
已經(jīng)建立好鉤子
image.png
jenkins那邊繼續(xù)往下拉,在增加構(gòu)建步驟這里找到shell執(zhí)行锣杂,然后在服務(wù)器那邊保存我們的腳本脂倦,在這里填入命令番宁,最后保存
image.png
在開發(fā)這邊更改一下代碼,然后重新提交到master
image.png
jenkins會有提交的提示赖阻,跑完之后蝶押,刷新你的網(wǎng)頁,發(fā)現(xiàn)文字已經(jīng)修改了
image.png
image.png