jenkins - Jenkins 共享库无法引用
问题描述
我没有在我的 repo 的 src 中引用第二个 groovy 文件。
我的设置是这样的: 库名称 pipeline-library-demo
github
我在 src 文件夹中添加了第二个 groovy 文件
app_config.groovy
#!/usr/bin/groovy
def bob(opt) {
sh "docker run --rm " +
'--env APP_PATH="`pwd`" ' +
'--env RELEASE=${RELEASE} ' +
"-v \"`pwd`:`pwd`\" " +
"-v /var/run/docker.sock:/var/run/docker.sock " +
"docker_repo/bob:1.4.0-8" ${opt}
}
def test(name) {
echo "Hello ${name}"
}
我正在使用的 Jenkins 文件是:
pipeline {
Library('pipeline-library-demo') _
agent {
node {
label params.SLAVE
config = new app_config()
}
}
parameters {
string(name: 'SLAVE', defaultValue: 'so_slave')
}
stages {
stage('Demo') {
steps {
echo 'Hello World'
sayHello 'Dave'
}
}
stage('bob') {
steps {
config.test 'bob'
config.bob '--help'
}
}
}
}
我想我没有正确引用 app_config.groovy 并且没有找到
解决方案
库调用应该在 jenkins 文件的开头,请按照下面
- 如果您在 jenkins 配置中添加了库配置,则调用应如下所示:-
@Library('管道库演示')_
- 如果你想动态调用库,你应该调用如下: -
库标识符:'custom-lib@master',检索器:modernSCM([$class:'GitSCMSource',远程:'git@git.mycorp.com:my-jenkins-utils.git',credentialsId:'my-private-钥匙'])
请参考此链接
请在您的 app_config.groovy 中定义包。(例如包 com.cleverbuilder)
推荐阅读
- python - 有人可以告诉我这种解决三序列最长公共子序列问题的方法是否正确
- c++ - 没有类型,结构绑定不起作用?
- java - .\classes\Student.java:5:错误:无法访问 IStudentOperations 公共类学生实现 IStudentOperations
- javascript - 如何从html获取值到javascript数组
- python - 从 C++ 到 Python,如何写这个?
- json - 使用正则表达式批量修改 json 中的值
- reactjs - 错误:未知类型“查询”。在 assertValidSDL (GRAPHQL)
- python - Pandas DataFrame 组合多行跨列
- excel - 使用“在文本前面”参数将图像添加到 Word 页脚
- ios - 如何在swift中将一组切换设置为互斥