gpt4 book ai didi

git - 在 Jenkins 中,如何将项目 check out 到特定目录(使用 GIT)

转载 作者:IT王子 更新时间:2023-10-29 00:42:04 27 4
gpt4 key购买 nike

对“svn”风格感到抱歉 - 我们正在从 SVN 迁移到 GIT(包括我们的 CI Jenkins 环境)。

我们需要的是能够让 Jenkins check out (或者我应该说克隆?)GIT 项目(存储库?)到特定目录。我们已经尝试了一些 refspecs 魔法,但它不是太明显而无法成功理解和使用。

此外,如果在同一个 Jenkins 项目中,我们需要将多个私有(private) GitHub 存储库 check out 到项目根目录下的几个单独的目录中,请问我们该怎么做?

我们安装了 GitHub 插件。希望我们的措辞是正确的。

最佳答案

在新的 Jenkins 2.0 管道(以前称为工作流插件)中,这是不同的:

  • 主仓库
  • 其他附加存储库

这里我特指Multibranch Pipeline 2.9版本。

主存储库

这是包含您的 Jenkinsfile 的存储库。

在管道项目的配置屏幕中,输入您的存储库名称等。

不要使用其他行为 > checkout 到子目录。这会将您的 Jenkinsfile 放在子目录 where Jenkins cannot find it 中.

Jenkinsfile 中,使用 dir() 检查子目录中的主存储库:

dir('subDir') {
checkout scm
}

额外的存储库

如果您想查看更多存储库,请使用管道语法 生成器自动生成 Groovy 代码片段。

在管道项目的配置屏幕中:

  1. 选择管道语法。在示例中步骤下 pull 菜单,选择checkout: General SCM
  2. 选择您的 SCM 系统,例如 Git。填写常用信息关于您的存储库或仓库。
  3. 请注意,在多分支管道中,环境变量env.BRANCH_NAME 包含主存储库的分支名称。
  4. 其他行为下 pull 菜单中,选择 checkout 子目录
  5. 点击生成 Groovy。 Jenkins 将显示 Groovy 代码片段对应于您指定的 SCM checkout 。
  6. 将此代码复制到您的管道脚本或 Jenkinsfile 中。

关于git - 在 Jenkins 中,如何将项目 check out 到特定目录(使用 GIT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com