jenkins-html 部署

jenkins部署静态网页流程.png

jenkins静态页面的部署.png
#!/bin/bash
DATE=$(date +%F_%H-%M)  #时间变量
Name=$DATE-${git_version}  #时间变量加版本变量
host="10.0.0.7 10.0.0.8"   #部署的主机
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 "已经部署过"
     exit 1
   else
       get_code
       scp_code
fi
}
case $deploy_env in    #部署和回退的选项   jenkins选项参数一致
     "deploy")
     deploy
     ;;
     "rollback")
     back
     ;;
     *)
     exit 1
     ;;
esac
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容