Jenkins回滚操作

mac2022-06-30  22

一、前言

     公司项目已配置好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

相关资源:Jenkins迁移梳理及踩坑总结(个人精华版)
最新回复(0)