Jenkins键值变量或使用变量定义另一个
我正在建立一个集中的构建系统,其中几个项目被打包".可以使用选择参数选择项目,然后基于该参数构建SVN检出路径.存储库是相同的,但是每个应用程序都有略有不同的路径,例如:
I'm setting up a centralized build system where several projects get "packaged". The project can be selected using a choice parameter, and based on it I'm building the SVN checkout path. The repository is the same, but each app has a slightly different path, eg:
- app 1驻留在../libs/App1 ..
- app 2位于../tools/App2 ..
- 等
我的问题是我需要以某种方式将应用程序名称与其位置匹配.
My problem is that I need to somehow match the app name with its location.
首先想到的是键值参数,但是我还没有找到允许它的插件.
The first thought that came to mind was a key-value parameter but I have yet to find a plugin that permits it.
第二个是在文件中定义一些环境变量(有2-3个插件可以执行此操作),然后使用在choice参数中选择的值作为环境变量的键.这可以实现吗?
The second one was to define some environmental variables within a file (there are 2-3 plugins that do it) and then use the value selected in the choice parameter to as the key for the env var. Is this achievable in any way?
亲切的问候
几年后:-)并在一个不相关的主题上,我找到了 uno choice插件,它允许定义在更改其他参数时会动态更新的参数:
After a few years :-) and on an unrelated topic, I found the Active choices plugin also known as / forked from uno choice plugin which allows to define parameters which dynamically update when changing other parameters:
1)定义具有以下常规脚本内容的主动选择参数 states
1) define an active choice parameter named states
with the following groovy-script content
return[
'Sao Paulo',
'Rio de Janeiro',
'Parana',
'Acre'
]
2)定义一个名为cities
的主动选择反应参数,该参数对第一个参数值的变化有反应,并具有以下常规脚本内容:
2) Define an active choice reactive parameter named cities
which reacts to changes in the first parameter's value, with the following groovy-script content:
if (States.equals("Sao Paulo")) {
return ["Barretos", "Sao Paulo", "Itu"]
} else if (States.equals("Rio de Janeiro")) {
return ["Rio de Janeiro", "Mangaratiba"]
} else if (States.equals("Parana")) {
return ["Curitiba", "Ponta Grossa"]
} else if (States.equals("Acre")) {
return ["Rio Branco", "Acrelandia"]
} else {
return ["Unknown state"]
}
因此,每次state
更改时,可选的cities
列表都会相应更新:
Thus, each time the state
changes, then the list of selectable cities
will be updated accordingly: