我正在使用Jenkins声明性管道,目前正在尝试并行化部分工作流程。我的管道目前的工作方式是构建数据库有多个阶段,每个阶段都有if子句依赖于传递给构建的参数。接下来,构建应用程序有多个阶段,其中还有基于params的子句。我试图将这两个阶段链并列,但不能弄清楚它是否可能使用声明性语法,因为我要么必须将所有阶段并行,这是一个不行,因为与每个任务相关的后续阶段依赖于早期阶段,或者将这些阶段嵌套到一些似乎不受声明性语法支持的父阶段。我想做这样的事情。任何有用的信息都将受到赞赏。
pipeline{
agent any
stages{
stage("Build Systems"){
parallel{
stage("Build Database"){
stage("DB STEP 1"){
steps{
echo 'building databse step 1'
}
}
stage("DB STEP 2"){
steps{
echo 'building databse step 2'
}
}
}
}
stage("Build Application"){
stage("APP STEP 1"){
steps{
echo 'building application step 1'
}
}
stage("APP STEP 2"){
steps{
echo 'building application step 2'
}
}
}
}
}
}
}
}
答案 0 :(得分:0)
我相信这是通过Declarative Pipeline 1.3: Sequential Stages实现的。
一个常见的用例是在多个平台上运行构建和测试。
您已经可以使用并行阶段执行此操作,但是现在您可以在每个并行分支中运行多个阶段,从而无需查看日志即可确切了解当前哪个步骤在哪里运行,从而更直观地了解管道的进度等。