我正在尝试将我的管道拆分为多个文件,因此一个阶段内部有多个阶段,我想将其移动到vars
我正在导入的 jenkins-shared-library 目录中的另一个文件中。
#!/usr/bin/env groovy
@Library('utils-library') _
def podLabel = "whatever"
def pod = "some yaml..."
pipeline {
agent {
kubernetes {
label podLabel
defaultContainer 'jnlp'
yaml pod
}
}
stages {
stage('Nightly Tests') {
library externalNightlyStages
}
stage('Regular run') {
steps {
echo "bla!"
}
}
}
}
在里面utils-library
我有一个名为的文件vars/externalNightlyStages.groovy
及其内容:
def call() {
stages {
stage("Spin up fresh EMR") {
steps {
echo "Spinning up an EMR cluster"
}
}
stage("Run stage on EMR") {
steps {
echo "Run stage on EMR"
}
}
}
}
所以理论上,在管道中调用这个库应该只是导入阶段并运行,就好像它们都在一个文件上一样。但是,这不起作用。
我尝试从不同的地方调用库,用script
块环绕,用块环绕steps
。什么都没有用。
有什么建议么?