jenkins - 有没有办法在单个管道中运行多个作业
问题描述
我已经在我的 Jenkins 中配置了多个作业。例如:假设我在 Jenkins 中配置了 A、B 和 C 作业。现在我每次都必须手动运行这三个作业。我想运行一个运行所有这三个作业(A、B、C)的作业。有没有办法在管道工作中实现这一目标?请指教
解决方案
是的,您可以在单个管道中运行所有三个作业。这是我们使用的一个简短的管道示例,因此用户可以选择应该运行哪个子作业(默认所有复选框都被选中):
node {
properties([
buildDiscarder(
logRotator(
artifactDaysToKeepStr: '',
artifactNumToKeepStr: '10',
daysToKeepStr: '',
numToKeepStr: '10')
),
parameters([
booleanParam(defaultValue: true,
description: 'Select true to include run of Job A',
name: 'JOBA'),
booleanParam(defaultValue: true,
description: 'Select true to include run of Job B.',
name: 'JOBB'),
booleanParam(defaultValue: true,
description: 'Select true to include run of Job C',
name: 'JOBC')
])
])
try {
if (params.JOBA == true) {
stage('Run job A') {
build job: 'PATHTOJOBA', propagate: true, wait: true
}
}
if (params.JOBB == true) {
stage('Run job B') {
build job: 'PATHTOJOBB', propagate: true, wait: true
}
}
if (params.JOBC == true) {
stage('Run job C') {
build job: 'PATHTOJOBC', propagate: true, wait: true
}
}
--------
这PATHTOJOB
是您要运行的作业的全名。使用生成脚本<yourJenkinsHost>/pipeline-syntax/
并使用Sample step
>build: Build a job
来确定您的作业路径是否正确 + 它会生成可以传递给该作业的参数(如果已配置)。
在此处阅读更多文档。如果所有三个作业都可以独立运行,建议您并行运行作业以节省时间。
推荐阅读
- azure-cosmosdb - 使用 .Net SDK Microsoft.Azure.Cosmos 查询 Cosmos DB 以获取不同派生类型的列表
- javascript - 有没有办法纠正highart中显示按钮的问题?
- php - 我在哪里可以在 RegisterUser laravel 8 中找到这个类
- android - 使用 textswitcher 添加动画在 xml 布局中不起作用
- python-3.x - `__annotations__` 没有按预期返回
- laravel - 当我尝试更新时显示错误消息 - Laravel 8
- python - 如果满足另一个数组中值的条件,则对 numpy 数组中的值求和
- python - Python 字典错误列表索引必须是整数或切片,而不是 str
- .net - 获取文件和文件夹,不包括 .Net 中 s3 的子文件夹中的文件
- python - 在 plotly 中设置 3d 图中轴标签的对峙(刻度标签与轴标签重叠)