当前位置: 首页 > 面试题库 >

将多个git仓库签出到同一Jenkins工作区中

端木野
2023-03-14
问题内容

使用Jenkins 1.501和Jenkins Git插件1.1.26

我有3个不同的git仓库,每个仓库都有多个项目。

现在,我需要将所有3个git存储库中的项目检出到Jenkins从属服务器上的同一工作区中。我在以下 代码中 定义了每个git repo:
源代码管理:多个SCM 。但是每次签出一个回购协议时,先前的回购协议(及其关联项目)都会被删除。

我读过这个:

http://jenkins.361315.n4.nabble.com/multiple-git-repos-in-one-job-
td4633300.html

但它并没有真正的帮助。我尝试为所有存储库在 本地子目录下为存储 指定相同的文件夹 (可选) ,但结果相同。

如果使用Jenkins根本不可能做到这一点,我想可以使用一些预构建步骤/脚本来将项目移至正确的位置。不能修改项目的构建配置


问题答案:

使用Jenkins + Git插件,无法在一个工作空间中一次签出多个仓库。

解决方法是,您可以有多个上游作业,每个作业都签出一个存储库,然后复制到最终项目工作区(在多个级别上都是Problematic),或者您可以设置一个Shell脚本步骤,将每个需要的存储库签出。构建时的作业工作区。

以前,Multiple SCM插件可以解决此问题,但现在不建议使用。在“多个SCM插件”页面中:“用户应迁移到https://wiki.jenkins-
ci.org/display/JENKINS/Pipeline+Plugin
。管道提供了一种更好的签出多个SCM的方法,并且受Jenkins支持核心开发团队。”



 类似资料:
  • 使用Jenkins 1.501和Jenkins Git插件1.1.26 我有3个不同的git回购,每个都有多个项目。 现在我需要在一个Jenkins Slave上将来自3个git Repo的所有项目签出到同一个工作区。我在《源代码管理:多个SCM》中定义了每个git repo。但每次签出一个回购,就会删除先前的回购(及其关联的项目)。

  • 问题内容: 我正在使用Jenkins Multiple SCM插件将三个git存储库检出到Jenkins作业的三个子目录中。然后,我执行一组命令,以使用从所有三个存储库中提取的信息和代码构建一组工件。 现在已弃用多个SCM,并且文本建议移至管道。我尝试过,但是我不知道如何使它工作。 这是我感兴趣的从詹金斯工作目录的顶层看到的目录结构: 这三个子目录中的每一个都有一个单独的git repo签出。对于

  • 在我的Jenkins工作中,我使用Jenkins Multiple SCM插件将三个git存储库签出到三个子目录中。然后,我执行一组命令,用从所有三个存储库中提取的信息和代码构建一组工件。 多个SCM现在折旧,文本建议转移到管道。我试过了,但我想不出怎么让它起作用。

  • 问题内容: 我有一个具有2个子文件夹$ / Repo / project和$ / Repo / thirdparty的仓库。我需要将这两个都放入Jenkins中以进行单个构建。自然地,我尝试仅拉$ / Repo,但这给了我许多其他项目以及错误的民意测验(每次将任何东西检入$ / Repo时都会构建)。我试过使用可以工作的multi- scm插件,但是不保存配置(烦人,但不可用)。我尝试使用常规的t

  • 我一直在尝试定义一个Jenkins管道,将Github中的两个项目签出到同一工作区的两个独立子目录中,但不幸的是,到目前为止我的所有尝试都无济于事。 我找到了一些对一些人有用的例子,并试图效仿他们。我用过的是: 使用Jenkins管道将多个git回购签出到同一作业中 这里: 无法签出Jenkinsfile中的其他分支吗? 下面是我的完整管道脚本,其中有两个签出变体,我正试图使用它们(dir-git

  • 既然我们现在把一切都设置好了,那么我们需要一个Git仓库。有两种方法可以得到它:一种是从已有的Git仓库中 clone (克隆,复制);还有一种是新建一个仓库,把未进行版本控制的文件进行版本控制。 Clone一个仓库 为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git