jenkins - Jenkins Pipeline - 在循环内并行触发作业
问题描述
我有一个 Jenkins 管道,我需要在其中选择不同的参数。参数选择也可能因版本而异,有时需要选择1,有时需要选择多个选项。如何循环构建应用程序?这是我的 Jenkinsfile,我将在其中选择要构建的 coreapp 和应用程序。这是詹金斯文件
#!/usr/bin/env groovy
List core_apps = ["\"Select:selected\"","\"app1\"","\"app2\""]
List appstobuild = ["\"Select:selected\"","\"a\"","\"b\"","\"c\""]
List default_item = ["\"Not Applicable\""]
String categories = buildScript(core_apps)
String appstobuild = buildScript(appstobuild)
String items = populateItems(default_item,appstobuild)
String buildScript(List values){
return "return $values"
}
String populateItems(List default_item, List appstobuild){
return """if(Categories.equals('appstobuild')){
return $appstobuild
}
else{
return $default_item
}
"""
}
properties([
parameters([
[$class: 'ChoiceParameter', choiceType: 'PT_SINGLE_SELECT', name: 'Categories', script: [$class: 'GroovyScript', fallbackScript: [classpath: [], sandbox: false, script: 'return ["ERROR"]'], script: [classpath: [], sandbox: false,
script: categories]]],
[$class: 'CascadeChoiceParameter', choiceType: 'PT_CHECKBOX', name: 'Items', referencedParameters: 'Categories', script: [$class: 'GroovyScript', fallbackScript: [classpath: [], sandbox: false, script: 'return ["error"]'], script: [classpath: [], sandbox: false, script: items]]]
])
])
pipeline {
agent any
stages {
stage('Build'){
steps {
echo 'Building..'
}
}
}
}
解决方案
推荐阅读
- kotlin - 如何从 Mockk 中的外部依赖项监视类构造函数?
- python - 在 O(1) 中合并两个双端队列
- sql - 使用 WHERE 子句在视图中定位特定记录时出现 SQL Server 错误
- css - 如何在 React Native 中的视图之间填充保存
- microsoft-teams - 为微软团队添加办公工具
- linux - 通过在 bash 中附加有条件地合并文件
- node.js - “npm clean-install”忽略严格的引擎检查
- c# - C# 从自签名根 CA 生成中间证书
- python - 在 matplotlib 中绘制箭头
- javascript - 如何从子表中查找具有外键的父表属性