【发布时间】:2021-06-10 03:12:19
【问题描述】:
我有一个简单的管道。 我能够在管道块之外获取属性并成功运行它。 当我尝试将属性块移动到外部 groovy 并使用“加载”导入它甚至使用共享库时,管道失败了。 有没有办法在管道块之外共享一段代码?
这是我对失败的共享库的尝试。
@Library("shared-library") _
properties()
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
这是我对失败的导入 groovy 的尝试。
def shared_funcs = load "${env.WORKSPACE}/shared/@script/shared_funcs.groovy"
shared_funcs.properties()
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
这将输出“缺少必需的上下文类 hudson.FilePath 可能你忘记在代码中加上提供此功能的步骤,例如:node"
shared_funcs.groovy
def call() {
properties([ parameters([
string( name: 'AWS_ACCESS_KEY_ID', defaultValue: ''),
string( name: 'AWS_SECRET_ACCESS_KEY', defaultValue: '')
]), pipelineTriggers([]) ])
}
【问题讨论】:
-
请出示
shared_funcs.groovy的内容 -
我将它添加到问题中:-)
标签: jenkins jenkins-pipeline jenkins-groovy