Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 詹金斯的释放链_Git_Maven_Jenkins - Fatal编程技术网

Git 詹金斯的释放链

Git 詹金斯的释放链,git,maven,jenkins,Git,Maven,Jenkins,我在不同的git存储库中有A、B和C maven项目。C取决于A和B。我有詹金斯的工作,这些工作是独立完成项目的。但我想做一个释放链。例如:项目A发布后,在项目C中更改依赖项版本并将其提交给回购协议,然后触发项目C的新版本。 如果项目B被释放,则执行相同操作。更新项目C、提交和发布。 你们知道Jenkins的插件吗,它使这个更新依赖版本并提交给git 谢谢大家! 四五年前我也有过同样的约束。通常我有大约10个项目要发布。我没有相同的存储库约束,但我不能为这些项目使用多个模块 我最终用Java构建

我在不同的git存储库中有A、B和C maven项目。C取决于A和B。我有詹金斯的工作,这些工作是独立完成项目的。但我想做一个释放链。例如:项目A发布后,在项目C中更改依赖项版本并将其提交给回购协议,然后触发项目C的新版本。 如果项目B被释放,则执行相同操作。更新项目C、提交和发布。 你们知道Jenkins的插件吗,它使这个更新依赖版本并提交给git


谢谢大家!

四五年前我也有过同样的约束。通常我有大约10个项目要发布。我没有相同的存储库约束,但我不能为这些项目使用多个模块

我最终用Java构建了一个发布管道或编排器

在一个配置文件中,我为每个项目指定了预期的发布版本号和下一个构建版本号。 这个想法是,如果项目版本在Nexus中不存在,我将发布项目并使用属性更新依赖项版本号

这个项目还将一些东西打包在一个zip文件中,然后使用AssemblyMaven插件交付给QA团队

在我的下一份工作任务中,我没有同样的需求。
如果有一个插件正在做这项工作,我会很高兴听到它。

我想这正是你想要的。它提供了一种新的作业类型和DSL,您可以在其中配置何时/如何触发其他作业。

我建议使用多个插件。每一个都有自己的优势:

指定简单的作业链。不要给它添加太多逻辑,加上下游作业的局部专业分支/连接。 对于那些复杂的构建流。Groovy非常适合定义复杂的步骤。 加上显示连续集成/交付管道。它允许您非常干净地聚合下游/上游作业。 具体演示一下Job DSL插件到底有多强大。它启发了我!:

正如所建议的,您也可以使用它,但它不是很稳定,一些核心功能仅适用于Cloudbees Enterprise用户