jenkinsfile or pipline 实现微服务自动发布回滚流程


1
#!/usr/bin/env groovy Jenkinsfile 2 node { 3 //服务名称 4 def service_name = "**" 5 //包名 6 def service_bag_name = "**.jar" 7 //制品库目录 8 service_product = "/data/server/**/project-demo" 9 //工作目录 10 workspaces="/data/**/**-${service_name}" 11 12 if(choice_status=="delop" && choice_build_number==""){ 13 //拉取git代码/maven编译/归档成品 14 stage('Build'){ 15 //创建制品库 16 ws('/data/server/jenkinsworkspaces/pipline-demo') { 17 // some block 18 //拉取git分支代码 19 git branch: 'test', credentialsId: '**', url: 'http://gitlab.lalala.cn/**/**.git' 20 //maven编译 21 sh label: 'maven编译', script: '/data/server/maven/bin/mvn clean install' 22 //成品归档,便于后期开发验证成品包是否可用 23 archiveArtifacts artifacts: "**/target/${service_bag_name}", onlyIfSuccessful: true 24 } 25 } 26 //生成制品 27 stage("artifacts"){ 28 echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}" 29 //创建制品库 30 dir("${service_product}/${service_name}/${env.BUILD_ID}") { 31 // some block 32 writeFile file:'dummy', text:'' 33 } 34 //将成品文件存放入制品库 35 //此处省略,通过将将成品文件存放入制品库 36 } 37 38 stage("Test"){ 39 echo "testing...." 40 echo "${workspaces}" 41 //此处省略,验证制品库中成品文件是否可用 42 } 43 44 stage("Deploy"){ 45 echo "deploying...." 46 //1.查找制品库中需要发布的文件,通过scp方式传输至服务器服务运行目录 47 //2.查找制品库中需要发布的文件,通过jenkins sedn build artifacts over ssh方式传输至服务器服务运行目录 48 } 49 50 }else if(choice_status=="rollback" && choice_build_number!="") { 51 stage("Rollback"){ 52 echo "rollbacking...." 53 echo "${service_name}" 54 echo "${service_bag_name}" 55 echo "${choice_build_number}" 56 sh label: '查找成品文件', script: """ls -lh ${service_product}/${service_name}/${choice_build_number}""" 57 } 58 59 } 60 }

部分代码已省略,请自行脑补,服务启动脚本需要自行编写,本文暂不描述.

 

  

转载于:https://www.cnblogs.com/ipyanthony/p/10966388.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值