我如何 select 来自构建参数中指定的分支的 Jenkins 管道文件

How can I select a Jenkins pipeline file from a branch specified in a build parameter

我有一个参数化的 Jenkins 管道构建。参数之一(分支)是要构建的分支。管道文件存储在分支中。

在管道定义中,当我使用 */${branch} 作为要构建的分支来代替 */main 时,${branch} 不会被替换,而是显示为文字。如果我对分支进行硬编码,它会按预期工作。

${branch} 确实在管道文件中按预期被替换。所以正在设置 branch 参数。

有没有办法将参数值从 git 检索到“来自 SCM 的管道脚本”中?

您可以尝试以下另一种方法:

  1. 在管道配置页面中,将管道从 SCM 更改为管道脚本

  2. 在输入框中输入以下流水线脚本

node('<Jenkins node label>') {
    
    properties([
        parameters([
            // parameter for branch
        ])
    ])
    
    git url: '', credentailId:'', branch: "${branch}"

    load '<relative path to your Jenkinsfile>'
}