jenkins-html 部署

jenkins部署靜態(tài)網(wǎng)頁流程.png

jenkins靜態(tài)頁面的部署.png
#!/bin/bash
DATE=$(date +%F_%H-%M)  #時(shí)間變量
Name=$DATE-${git_version}  #時(shí)間變量加版本變量
host="10.0.0.7 10.0.0.8"   #部署的主機(jī)
get_code() {   #打包代碼
cd ${WORKSPACE}
tar zcf /opt/web_${Name}.tar.gz ./*
}
scp_code() {   #推送代碼
 for i in $host
 do
     scp -r /opt/web_${Name}.tar.gz root@$i:/opt/
     ssh root@$i "rm -rf /code/web && \
                mkdir /code/web_${Name} -p && \
                tar xf /opt/web_${Name}.tar.gz -C /code/web_${Name}/  && \
                ln -s /code/web_${Name} /code/web"
done
}
back() {  #代碼回退
for i in $host
do
    back_version=$(ssh root@$i "find /code -maxdepth 1 -type d -name "*-${git_version}"")
    ssh root@$i "rm -rf /code/web && \
                 ln -s ${back_version} /code/web"
done
}

deploy() {   #部署代碼  判斷代碼是否部署
if [ ${GIT_COMMIT} == ${GIT_PREVIOUS_SUCCESSFUL_COMMIT} ];then
     echo "已經(jīng)部署過"
     exit 1
   else
       get_code
       scp_code
fi
}
case $deploy_env in    #部署和回退的選項(xiàng)   jenkins選項(xiàng)參數(shù)一致
     "deploy")
     deploy
     ;;
     "rollback")
     back
     ;;
     *)
     exit 1
     ;;
esac
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容