我有一個管道,它應該基于我的組件的靜態陣列并行運行 3 個不同的作業。這是我的代碼:
pipeline {
agent any
parameters {
...
}
stages {
stage('Deployment Jobs') {
steps {
script {
parallel ['X', 'Y', 'Z'].collectEntries { value ->
["Deploy ${value}": {
build job: "${value}_deploy",
parameters: [
...
],
wait: true
}]
}
}
}
}
}
}
我收到錯誤訊息:
groovy.lang.MissingPropertyException: No such property: parallel for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:251)
at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353)
我錯過了什么?
uj5u.com熱心網友回復:
不知道為什么詹金斯不喜歡你創建閉包的方式。對您的代碼稍作修改,嘗試以下操作。
pipeline {
agent any
parameters {
...
}
stages {
stage('Deployment Jobs') {
steps {
script {
def parallelMap = ['X', 'Y', 'Z'].collectEntries { value ->
["Deploy ${value}": {
build job: "${value}_deploy",
parameters: [
...
],
wait: true
}]
}
parallel parallelMap
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/526268.html
標籤:詹金斯时髦的部署詹金斯管道jenkins-groovy
