小编Fra*_*ell的帖子

是否可以在循环中创建并行的Jenkins声明管道阶段?

我在项目中的不同子项目上有一个长期运行的Gradle任务列表.我想使用Jenkins声明性管道并行运行它们.

我希望这样的东西可能会起作用:

projects = [":a", ":b", ":c"]

pipeline {
    stage("Deploy"){
        parallel {
             for(project in projects){
               stage(project ) {
                   when {
                       expression {
                            someConditionalFunction(project)
                       }
                   }
                   steps {
                       sh "./gradlew ${project}:someLongrunningGradleTask"
                  }
                }   
             }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

不用说,由于它是期待阶段而不是for,因此会产生编译错误.关于如何克服这个问题的任何想法?谢谢

jenkins jenkins-pipeline

21
推荐指数
2
解决办法
1万
查看次数

是否可以在Jenkins Declatative管道中重用代码?

我想在不同的部署之间重用代码,例如分段和生产,以便唯一的区别是环境变量?

我想它看起来像这样:(虽然这显然不起作用).

pipeline {
    stage("Dev Deploy"){
        environment {
             PROP1 = "abc"
        }
        deploy ()
    }
    stage("Prod Deploy"){
        environment {
           PROP1 = "xyz"
        }
        deploy ()
    }
}

deploy = steps{
            sh "./gradlew deploy -Pproperty1=${env.PROP1}"
        }
Run Code Online (Sandbox Code Playgroud)

谢谢!

jenkins jenkins-pipeline

7
推荐指数
1
解决办法
855
查看次数

标签 统计

jenkins ×2

jenkins-pipeline ×2