对“ svn”样式很抱歉-我们正在从SVN迁移到GIT(包括我们的CI Jenkins环境)。
我们需要的是使Jenkins能够将GIT项目(存储库?)检出(或应该说克隆?)到特定目录中。我们已经尝试了一些refspecs魔术,但是了解和成功使用它并不太明显。
此外,如果在同一个Jenkins项目中,我们需要将几个私有GitHub存储库检出到项目根目录下的几个单独的目录中,我们该怎么做?
我们已经安装了GitHub插件。希望我们把事情说对了。
Jenkins 的默认git插件做得很好。
在向项目添加新的git存储库(项目配置> 源代码管理 >选中GIT选项)后,导航至插件设置的底部,即 存储库浏览器 区域上方。应该有一个 高级 按钮。单击它之后,将出现一个新表单,其值描述 为repo的本地子目录(可选) 。设置为folder会使插件将存储库检出到相对于您的工作区的文件夹中。这样,您可以根据需要在项目中拥有任意数量的存储库,并且都位于单独的位置。
folder
或者,如果您正在使用的项目允许这样做,则可以使用GIT子模块,类似于SVN中的外部路径。在 GIT书中, 有一个关于该主题的部分。如果这不违反某些策略,则子模块的使用非常简单,为您提供了强大的方式来控制将要导入的位置,版本/标记/分支,并且可以在本地存储库中使用,并为您提供了更好的可移植性。
显然,GIT插件支持签出子模块,因此Jenkins可以非常有效地使用它们。