我有一个Git存储库,其中包含一堆顶级Maven项目(每个项目都位于带有pom.xml的自己的子目录中)。这里的顶层意味着这些项目位于存储库根目录下的子目录中。所有这些项目应保留在相同的Git存储库中。
repo
+--- projectA
+--- pom.xml
+--- projectB
+--- pom.xml
它们可以/应该由独立的詹金斯工作建立。因此,我们为projectA有一份工作,为projectB有一份工作。
以前使用Subversion,我能够为每个项目设置一个Jenkins作业,该作业仅检出项目源并从pom.xml运行Maven构建。
对于Git模型(可能与所有DVCS相同),这种情况会发生变化,我不确定什么是最佳实践。我看到了一些选择,但我真的不喜欢这些选择:
您是否看到任何其他有用的方法(非常典型的设置)。你有什么经验?有最佳做法吗?
我认为您正在为此而努力。如果这些项目作为版本单位发布,则实际上应该创建一个父POM。但是您可能应该只有一个CI工作。如果希望该构建快速进行,则可以将其配置为仅构建自上次构建以来已更改的模块(“构建”部分中的高级按钮-“增量构建-
仅构建已更改的模块”)。您还可以告诉Jenkins“在必要时执行并发构建”以一次测试多个提交。
但是我很好奇为什么您认为您想要多个CI工作?如果您认为这两个项目具有不同的生命周期,则可能应该分别对它们进行版本控制,因此应该在单独的git存储库中。不要保存git存储库,它们很便宜。实际上,几乎在每种情况下,交易者都越多。
通常,您希望给定的pom生成单个工件。聚集器poms可用于将较大工件的一部分分解为子模块,但前提是这些子模块不是自己释放的。
问题内容: 我想使用两个Git存储库构建一个项目。其中一个包含源代码,而另一个包含构建和部署脚本。 我的问题是我需要一个用于构建和部署项目不同部分(大型项目,多个存储库,相同的构建和部署脚本)的存储库,但是Jenkins似乎无法处理此问题(或者我不知道)不知道/找不到方法)。 问题答案: 更新 现在不建议使用多个SCM插件,因此用户应该迁移到Pipeline插件。 旧答案 是的,詹金斯可以处理。只
本章节我们将为大家介绍如何创建一个 Git 仓库。 你可以使用一个已经存在的目录作为Git仓库。 git init Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。 在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的
我正在尝试配置Jenkins,以便从git的标记创建构建。所以我希望开发者创建一个标签(在任何分支中),Jenkins将负责新的构建。 我遵循了这个教程,但我没有做到,有人能帮我吗? http://erics-notes.blogspot.nl/2013/05/jenkins-build-latest-git-tag.html
我有一个多项目分级建筑在当地工作。有一个父级文件build.gradle设置。gradle文件将项目分配给它们各自的分级生成文件: 错误仍然相同,build.gradle文件(父文件)无法识别依赖项任务查看调试语句,找到并识别子生成分级文件:使用生成文件'/var/../LoadRemote/RemoteLoad_build.gradle'计算项目':LoadRemote'。对加载构建文件显示相同
在前面我们介绍了Git支持多种数据传输协议,有 git:// 协议、http(s):// 和 user@server:/path.git表示的 SSH 传输协议。我们可以通过这三种协议,对项目/仓库进行克隆操作。 下面,我们将以仓库 git@git.oschina.net:zxzllyj/sample-project.git 为例,对项目/仓库进行克隆。 通过HTTPS协议克隆 git clone
有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。 在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: $ git init 初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。不过目前,仅仅