【发布时间】:2019-03-29 22:46:12
【问题描述】:
您好,我正在使用 Jenkins 进行 CI/CD 设置。我想对 Jenkins 项目/作业进行自定义,以便在运行时我可以选择它从哪个分支获取代码并从中构建。请让我知道如何实现这一点,因为 TFS 在特定的 jenkins 工作工作区中一次持有一个指向一个分支的工作区(TFS)。 我正在使用管道项目顺便说一句。 我是否必须为单独的分支机构提供单独的工作,或者只能在单个工作中完成。
【问题讨论】:
您好,我正在使用 Jenkins 进行 CI/CD 设置。我想对 Jenkins 项目/作业进行自定义,以便在运行时我可以选择它从哪个分支获取代码并从中构建。请让我知道如何实现这一点,因为 TFS 在特定的 jenkins 工作工作区中一次持有一个指向一个分支的工作区(TFS)。 我正在使用管道项目顺便说一句。 我是否必须为单独的分支机构提供单独的工作,或者只能在单个工作中完成。
【问题讨论】:
如果你使用管道,你可以用 dir 块包装 git 插件,它将运行时的存储库克隆到特定文件夹:
#!groovy
node ('slave9') {
stage {
// clone master branch of repo1 into folder f1
dir('f1') {
git([url: "git@gitlab.xxx.local:PRJ/proj1.git", branch: "master"])
}
// clone BR2 branch from repo2 into folder f2
// BR2 is a string parameters passed in from jenkins job ui
dir('f2') {
git([url: "git@gitlab.xxx.local:PRJ/proj2.git", branch: "${BR2}"])
}
}
}
【讨论】: