我编写了一个工作流脚本来构建我们的项目。在node
-block 中,我从 git 检查我们的源代码:
node('nodeA') {
git url: 'https://github.com/foo/bar.git'
...
}
工作流脚本本身是源代码的一部分。现在不同的开发者有不同的 git repo 分支。因此 URL 是不同的,我想摆脱脚本中的硬编码 URL。
是否可以在 Jenkins 作业配置中指定 Git 存储库 URL?以及如何获得实际node
的源代码?
我编写了一个工作流脚本来构建我们的项目。在node
-block 中,我从 git 检查我们的源代码:
node('nodeA') {
git url: 'https://github.com/foo/bar.git'
...
}
工作流脚本本身是源代码的一部分。现在不同的开发者有不同的 git repo 分支。因此 URL 是不同的,我想摆脱脚本中的硬编码 URL。
是否可以在 Jenkins 作业配置中指定 Git 存储库 URL?以及如何获得实际node
的源代码?
最简单的方法是使用Workflow: Multibranch插件(目前是 1.9-beta-1,在实验更新中心),在这种情况下,Git 配置正在工作,您的脚本只是运行
checkout scm
当前没有处理多个分叉(或拉取请求)的分支源,但这是一种可能的集成。
另一种更手动的可能性是使作业参数化,并在两个地方使用相同的参数名称。因此,如果您定义了一个字符串参数GIT_URL
,请在作业的可视化配置中指定$GIT_URL
远程存储库位置(假设您使用的是来自 SCM 的 Groovy CPS DSL),并在脚本中使用
git GIT_URL
然后每个触发工作的人都必须定义他们的叉子的位置。(或者您可以让参数仅包含分叉名称等)