我目前正在尝试在管道中启动管道,但我想知道我需要做些什么来使它工作。 jenkins网页上的文档说如果新作业或管道与第一个文件夹在同一个文件夹中,您可以从直接名称或绝对路径调用它。我已经尝试了所有不同的方式,目前我正在尝试一个文件的绝对路径,我刚刚检查过一秒钟,但它说它不存在。
我想知道将不同管道连接在一起的正确方法是什么。
steps {
echo "hello ${env.WORKSPACE}"
sh "ls ${env.WORKSPACE}"
sh "ls ${env.WORKSPACE}/jenkins"
build(job: "${env.WORKSPACE}/jenkins/css-core-pipeline", parameters: [[$class: 'StringParameterValue', name: 'param1', value: "$pass1" ]])
}
[Pipeline] echo
hello / home / jenkins / workspace / hellopipeline
[Pipeline] sh
[hellopipeline]运行shell脚本
。+ ls / home / jenkins / workspace / hellopipeline
README.md
詹金斯
[Pipeline] sh
[hellopipeline]运行shell脚本
。+ ls / home / jenkins / workspace / hellopipeline / jenkins
CSS-CE-管道
CSS-芯管道
CSS-DEV-管道
CSS-PROD-管道
manual.md
错误:找不到名为/ home / jenkins / workspace / hellopipeline / jenkins / css-core-pipeline的项目
完成:失败
答案 0 :(得分:4)
没有任何前缀的作业名就足够了。
build(job: "css-core-pipeline", parameters: [[$class: 'StringParameterValue', name: 'param1', value: "$pass1" ]])
如果这不起作用,您可以使用代码段生成器获取有效的步骤片段。打开管道配置 - >流水线语法 - >片段生成器 - >选择构建步骤 - >填写字段(作业名称将有自动填充)
答案 1 :(得分:0)
对我有用的是我没有正确地转义斜杠,所以我不得不像这样替换 jobname/feature/my-branch-name
:
stage('Calls another pipeline') {
steps {
build job: 'jobname/feature%2Fmy-branch-name', parameters: [
string(name: 'MY_VAR', value: 'my_value')
], propagate: true, wait: true
}
}