有没有办法从组织文件夹而不是作业级别或全局级别将参数传递给Jenkins文件?
基本上我要做的就是有一个Jenkins文件可以处理我需要的任何情况,并且有多个组织文件夹可以发送参数。所以基本上我可以有一个组织文件夹来扫描和抓取所有的功能分支,当我运行其中一个作业时,它将它们合并开发。另一个抓住所有开发分支的人,当我运行其中一个工作时,它只是构建它们。等
我需要一些方法将参数传递给我的Jenkins文件来说"嘿我是这个文件夹,这就是你应该做的事情"。我无法找到办法。我想过制作多个Jenkins文件,但知道在每个回购邮件中放置哪一个会很困惑。我会更改Jenkinsfiles的名称,因此明显使用哪一个,但是我得到的唯一选项是" Project Recognizer"在配置中是" Pipeline Jenkinsfile"所以我不知道如何更改名称,组织文件夹仍然可以识别它。
我有什么遗失的东西吗?有没有办法从文件夹而不是全局级别向我的Jenkinsfile发送参数?或者是否有其他方法可以解决我的问题,并能够告诉我的Jenkinsfile该怎么做,取决于它在Jenkins内部的组织文件夹?
答案 0 :(得分:1)
或者是否有其他方法可以解决我的问题并能够告诉我的Jenkins文件取决于Jenkins内部的组织文件夹该做什么?
检查构建组织文件夹作业的一种简单方法是从env.JOB_NAME
参数解析它。例如:
作业层次结构:
feature/job1
feature/job2
production/job1
production/job2
使Jenkins Pipeline能够执行不同的功能,无论它们是在功能还是生产组织中:
def topFolder = env.JOB_NAME.split('/')[0]
// In code somewhere else:
if (topFolder == 'feature') {
doSomething()
} else if (topFolder == 'production') {
doOther()
}