jenkins 项目发布及回滚

项目发布原理:

1、研发人员将编译后程序发布到SVN仓库中
2、在发布任务中添加SVN源码管理,从SVN中checkout项目文件
3、使用脚本将网站项目目录备份
4、使用脚本将checkout出的文件覆盖至网站项目目录
5、重启gninx

回滚原理:

当研发提示有问题时,需要把网站内容回滚至先前状态
1、直接通过构建脚本,将发布任务时的备份目录rsync -avz --delete覆盖至网站项目目录
2、重启nginx

过程-项目发布

新建自由风格的软件项目
在这里插入图片描述
添加SVN仓库认证
在这里插入图片描述
注:Quiet check-out 把勾去掉,输出详细信息
输入构建脚本内容

ansible web -a "mkdir -p /data/`date +%Y%m%d`/"
ansible web -m copy -a "src=/var/lib/jenkins/workspace/www.yuejianyuan.top/ dest=/data/`date +%Y%m%d`/"
ansible web -m shell -a "mkdir -p /data/backup/`date +%Y%m%d`"
ansible web -m shell -a "\cp -a /usr/local/nginx/html/discuz/upload/* /data/backup/`date +%Y%m%d`/"
ansible web -m shell -a "\cp -a /data/`date +%Y%m%d`/* /usr/local/nginx/html/discuz/upload/;chown -R nginx.nginx /usr/local/nginx/html/"
ansible web -m shell -a "/usr/local/nginx/sbin/nginx -s reload;netstat -tnlp"

在这里插入图片描述
点击确定

过程-项目回滚

同样新建任务,直接使用构建脚本内容即可

ansible web -m shell -a "rsync -avz --delete /data/backup/`date +%Y%m%d`/  /usr/local/nginx/html/discuz/upload/"
ansible web -m shell -a "/usr/local/nginx/sbin/nginx -s reload;netstat -tnlp"

在这里插入图片描述

在这里插入图片描述

-------------------end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值