Jenkins回滚操作

一、前言

     公司项目已配置好Jenkins自动构建,发版,接下来还需要配置项目指定版本的回滚。

二、实现步骤

    思路:构建项目的时候,选择发版或者回滚,定义一个Jenkins变量 deploy_env ,

如果发版,deploy_env==deploy,则拉取最新代码,

选择回滚,deploy_env==rollback,回滚指定到版本

2.1  创建一个流水线项目

 2.2 创建选项参数和字符参数

 

 2.3  pipeline 语法

 steps {
    script {
        if ("${deploy_env}"=="deploy") {
        echo 'start pull latest code'
        sh "/data/fxshop/${PROJECK}/deploy.sh /${PROJECK}"
        } else {
        echo "start rollback ${version}"
        sh "cp -R ${JENKINS_HOME}/jobs/${PROJECK}/builds/${version}/archive/*.tar.gz ."
         }
    }
    }
#!groovy
pipeline {
agent any
environment{  
    ITEM="fxshop"
    PROJECK="test"
}
stages {
  stage("获取代码") {
    steps {
    deleteDir()
    script {
        if ("${deploy_env}"=="deploy") {
        echo 'start pull latest code'
        sh "/data/fxshop/${PROJECK}/deploy.sh /${PROJECK}"
        } else {
        echo "start rollback ${version}"
        sh "cp -R ${JENKINS_HOME}/jobs/${PROJECK}/builds/${version}/archive/*.tar.gz ."
         }
    }
    }
    }
    
  stage("发版") {
      steps {
          echo "start deploy"
          sh "scp -P 62222 *.tar.gz 1.1.1.1:/opt/ops/new/${PROJECK}.tar.gz"
          sh "ssh -p 62222 root@1.1.1.1 'tar -zxvf /opt/ops/new/${PROJECK}.tar.gz -C /opt/www/${PROJECK}/'"
      }   
   }
   stage("完成") {
      steps {
          echo "finish!"
          archiveArtifacts '*.tar.gz'
      }   
   }
}
}
完整的pipeline脚本

 

 

 

转载于:https://www.cnblogs.com/xiangjun555/articles/11564421.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值