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

Jenkins构建中未更新Git子模块

乔俊才
2023-03-14
问题内容

我在詹金斯的一个项目中有一个子模块。我已启用高级设置以递归方式更新子模块。

运行构建时,我看到工作空间中包含子模块中的文件。问题是,这似乎是子模块的第一个修订版。当我推送更改(托管在GitHub上的存储库)时,Jenkins似乎没有更新子模块以获取正确的更改。有人看过吗?


问题答案:

看来我找到了解决方案:

我添加了一个构建步骤来执行以下shell命令:

git submodule foreach git checkout master
git submodule foreach git pull


 类似资料:
  • 问题内容: 我正在使用Jenkins的“高级子模块行为”,并选中了“递归更新子模块”选项。但是我只能在旧版本中获得子模块。我希望始终拥有子模块的总修订版。我在“高级子模块行为”中找到了另一个选项,称为“将跟踪子模块更新到分支的尖端”。这似乎使用 –remote选项。这样可以解决问题吗? 有任何想法吗? 问题答案: 根据子模块的文档页面,似乎应该可以正常工作。您需要具有git 1.8.2或更高版本。

  • 问题内容: 我有一个git repo,其中有一个子模块。两者都属于BitBucket上的团队。我的jenkins机器是带有git插件的AWS Windows服务器。我正在使用SSH密钥进行身份验证。我有三个詹金斯工作。一个克隆主仓库。这是成功的。一个将自己克隆第二个存储库(该存储库将用作子模块)。这也是成功的。在我的第三个构建工作中,我告诉jenkins递归更新子模块。这将失败并显示公钥错误。如果

  • 问题内容: 我想更新git clone上的子模块。 有没有办法用詹金斯管道Git命令来做到这一点? 目前我正在这样做… 但是,一旦克隆,它就不会更新子模块 问题答案: 使用当前的Git插件,您甚至不需要它。 GIT插件支持带有子模块的存储库,而子模块本身又具有子模块。 但是,必须将其打开: 在“作业配置”->“源代码管理”,“ Git”->“高级按钮”(在要构建的分支下)->“递归更新”子模块中

  • 我有一个Jenkins/Maven/Git多模块项目,其中包含一个子模块(由承包商开发,没有什么可以改变它)。由于Git和子模块,我必须使用命令“Git Clone-recursive ssh://xxxxxxx.Git”在Linux中克隆repo。 这意味着我必须检查Jenkins Git插件选项“Advanced sub-modules Behavious”和“recursivy update

  • 我正在尝试配置Jenkins,以便从git的标记创建构建。所以我希望开发者创建一个标签(在任何分支中),Jenkins将负责新的构建。 我遵循了这个教程,但我没有做到,有人能帮我吗? http://erics-notes.blogspot.nl/2013/05/jenkins-build-latest-git-tag.html

  • 我有一个子模块a,它不是一个独立的应用程序。它需要主应用程序才能工作。我想为创建一个CI构建,这样每当提交被推送到时,它就会触发一个具有主项目代码的构建。 我在詹金斯怎么做? 我需要做的是: 提交会触发生成 如何使用Jenkins和GIT做到这一点? 注意,我有多个子模块的项目。子模块A触发一个构建,该构建从A中提取最新的更改以及最新的主代码,并从其他子模块中提取更新。