新建任务之发布和回滚

1、新建任务->构建一个自由风格的软件项目   点击 “确定”

2、点击 新创建 的任务 ,出行如下图

任务配置界面

3、配置- 参数化构建过程

参数化构建过程

4、配置-源码管理

源码管理

5、配置-构建执行shell

执行shell

示例代码如下:

#!/bin/bash
#################单纯批量发布##################################################################################
mvn clean install -DskipTests=true
cd /root/.jenkins/workspace
scp -r springcloud-ucenter-test root@10.125.211.62:/data
scp -r springcloud-ucenter-test root@10.125.211.63:/data
cmd="chmod +x -R /data/*;cd /data/springcloud-ucenter-test/sh; ./service.sh restart test"
ssh root@10.125.211.62 $cmd
ssh root@10.125.211.63 $cmd

#################批量灰度发布,并备份发布历史支持回滚##################################################################################
#项目中运行文件放在目录
PROJECTNAME="map-gateway-server"
#运行服务器 多个服务器之间使用空格隔开
SEVICEIP="10.125.211.23"
#编译结果目录
COMPILEDIR=/root/.jenkins/workspace/$JOB_NAME
#归档目录
ARCHIVEDIR=/root/.jenkins/jobs/$JOB_NAME/builds/$version/archive
#部署目录
DEPLOYDIR=/data/$JOB_NAME
case $state in
    deploy)
      #删除归档目录4次的数据
      DELETEDIR=0
      ((DELETEDIR = $BUILD_NUMBER-4))
	  rm  -rf /root/.jenkins/jobs/$JOB_NAME/builds/$DELETEDIR
	  #执行编译部署
      mvn clean install -DskipTests=true
      for remoteip in $SEVICEIP;
      do
        #远程创建目录
#        ssh root@$SEVICEIP "mkdir -p $DEPLOYDIR/$PROJECTNAME/target"
        ssh root@$remoteip "mkdir -p $DEPLOYDIR"
        #上传数据
        scp -r $COMPILEDIR/sh/* root@$remoteip:$DEPLOYDIR
        scp -r $COMPILEDIR/$PROJECTNAME/target/$PROJECTNAME.jar root@$remoteip:$DEPLOYDIR
        ssh root@$remoteip "chmod +x -R "$DEPLOYDIR"/*;cd "$DEPLOYDIR"; ./service.sh "$PROJECTNAME" restart 8850 dev"
      done

      ;;
    rollback)
      #echo $state $version  $BUILD_NUMBER  $JOB_NAME
      #删除服务器上文件
      #ssh root@$SEVICEIP "cd "$DEPLOYDIR"/; rm -rf *"
      for remoteip in $SEVICEIP;
      do
        scp -r ${ARCHIVEDIR}/sh/* root@$remoteip:$DEPLOYDIR
        scp -r ${ARCHIVEDIR}/$PROJECTNAME/target/$PROJECTNAME.jar  root@$remoteip:$DEPLOYDIR
        ssh root@$remoteip "chmod +x -R "$DEPLOYDIR"/*;cd "$DEPLOYDIR"; ./service.sh "$PROJECTNAME" restart 8850 dev"
      done
      ;;
    *)
  exit
  ;;
esac

关于“service.sh”的脚本,参考地址:service.sh

6、配置-构建后的操作-归档成品

归档成品

保存

7、构建任务

构建任务

(1)deploy时,version版本无需理会

(2)rollback时,version版本填写左侧构建任务列表的序号即可

回滚任务

转载于:https://my.oschina.net/zupengliu/blog/2994918

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值