【发布时间】:2025-11-30 00:35:01
【问题描述】:
我想使用一个函数来构建我的 Jenkinsfile 的一些阶段。这将是一个包含许多重复阶段/步骤的构建 - 我不想手动生成所有内容。
我想知道是否可以这样做:
_make_stage() {
stage("xx") {
step("A") {
echo "A"
}
step("B") {
echo "B"
}
}
}
_make_stages() {
stages {
_make_stage()
}
}
// pipeline starts here!
pipeline {
agent any
_make_stages()
}
不幸的是,詹金斯不喜欢这样——当我运行时,我得到了错误:
WorkflowScript: 24: Undefined section "_make_stages" @ line 24, column 5.
_make_stages()
^
WorkflowScript: 22: Missing required section "stages" @ line 22, column 1.
pipeline {
^
那么这里出了什么问题?函数 _make_stages() 看起来确实返回了阶段对象返回的任何内容。为什么我将它放在函数调用中还是将其内联到管道定义中很重要?
【问题讨论】:
-
我找到了解决方案,请参阅here
标签: jenkins groovy jenkins-pipeline