jenkins回滚之groovy动态获取版本号
2024-10-20 03:34:54
grovvy调试:
部署路径确定下来, 每个服务写死,传参 服务名 + 环境 给版本服务返回版本信息: groovy取分支:
def gettags = ("git ls-remote -h git@gitlab.zi.com:crm/zi-crm-app.git").execute()
gettags.text.readLines().collect { it.split()[].replaceAll('refs/heads/', '') }.unique()
def gettags = ("ls -l").execute()
gettags.text.readLines().collect { it.split()[].replaceAll('refs/heads/', '') }.unique()
curl baidu.com
String[] envVars = jenkins.model.Jenkins.getInstance().getGlobalNodeProperties().toMap().collectMany{it.value.getEnvVars().collect{"$it.key=$it.value"}}
def jobName= manager.getEnvVariable('JOB_BASE_NAME')
echo -e `curl -s -d "sname=zi-data-dr-test-bk&env=test" 0.0.0.0:/version/|tr "\"" " "` def gettags = ("curl -s -d "env=zi-data-dr-test-bk,test" 10.11.7.183:8000/version/").execute()
gettags.text.readLines() def proc1 = ['/bin/bash', '-c', 'echo -e `curl -s -d "sname=zi-data-dr-test-bk&env=test" 10.11.7.183:8000/version/|tr "\"" " "`'].execute() def proc1 = ['/bin/bash', '-c', 'curl -s -d "sname=zi-data-dr-test-bk&env=test" 10.11.7.183:8000/version/'].execute()
pproc1 = ['echo -e', $proc1].execute()
def proc2 = ['/bin/bash', '-c', 'echo -e curl -s -d "env=zi-data-dr-test-bk,test" 10.11.7.183:8000/version/|tr "\"" " "'].execute() # def gettags = ['/bin/bash', '-c', 'curl -s -d "sname=zi-data-dr-test-bk&env=test" 10.11.7.183:8000/version/'].execute()
# gettags.text.readLines() Script:
if (BuildEnv.equals('test')) {
return ['test']
} else if (BuildEnv.equals('prod')) {
return ['prod']
} else {
return ['abc']
}
Fallback Script: return ['xxx'] def job_name = this.binding.jenkinsProject.name 这个可以获取到 def job_name = this.binding.jenkinsProject.name
def job_env= this.binding.BuildEnv
if (BuildEnv.equals('test')) {
def gettags = ['/bin/bash', '-c', 'curl -s -d "sname=${job_name}&env=${job_env}" 10.11.7.183:8000/version/'].execute()
return gettags.text.readLines()}
if (BuildEnv.equals('develop')) {
return [job_name,job_env]
}
最新文章
- MySQL 复制表结构
- JavaScript中面向对象的的深拷贝和浅拷贝
- 【循序渐进学Python】15.网络编程
- 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)
- Javascript的一个生产PDF的库: unicode和中文问题的解决
- C++学习3
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- OpenGL ES 2.0 卷绕和背面剪裁
- HDU:3368-Reversi(暴力枚举)
- PHP中对mysql预编译查询语句的一个封装
- Linux 下不经过BIOS重启(i386)
- Java进阶篇之十五 ----- JDK1.8的Lambda、Stream和日期的使用详解(很详细)
- java--序列化和反序列化
- 为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作--java.util.ConcurrentModificationException
- Python 3中bytes/string的区别
- MySQL行转列、列转行
- asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问
- jq优化
- VS2015编译提示无法运行“rc.exe”
- (8)propetry装饰器