首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GIT Monorepo与enterprise Jenkins

GIT Monorepo与enterprise Jenkins
EN

DevOps用户
提问于 2019-07-26 01:00:13
回答 1查看 1.5K关注 0票数 1

需要一些关于詹金斯CI工作的帮助。我对詹金斯的世界很陌生

根据当前在我们的项目中设置的,我们在GIT中有不同的存储库,并且它们有与Jenkins一起设置的web钩子,以便在任何推送时触发CI作业。请注意,对于不同的回复,有单独的CI作业。

我的要求:

  1. 建立一个单回购,其中将包括所有现有的回购。(为了测试目的,我创建了两个repos,并将它们合并为mono )。
  2. 设置Jenkins作业,这将触发任务,只有在已发生推送的回购。例如,如果我的monorepo包含2个合并的repos repo1和repo2,那么如果repo1中的任何更改应该只触发repo1和repo2的相关任务。

我不知道怎样才能达到第2点。有什么帮助吗?

EN

回答 1

DevOps用户

发布于 2019-07-27 09:45:16

我个人的观点是,每个交付品都应该驻留在自己的存储库中。但是,如果您想保留changesetwhen,则可以使用以下方法:

管道{代理任何阶段{阶段(‘构建匹配引擎’){当{ changeset“**/火柴引擎/*.”}步骤{ echo‘构建匹配引擎’}阶段(‘构建后交易’){时{changeset "**/posttrade/*.*“步骤{ echo‘’}

或者在几个构建阶段更改目录,并在此目录中构建代码

阶段(‘构建’){ dir('web_app') { sh 'ls‘sh 'git拉’}}

还可以决定使用平行选择来确保缩短构建时间:

/* ..狙击..。*/ stage(‘run-并行-分支’){步骤{并行( a:{ echo“这是分支a”},b:{ echo“这是分支b”} /*。狙击..。*/

关于这个问题:

设置Jenkins作业,这将触发任务,只有在已发生推送的回购。例如,如果我的monorepo包含2个合并的repos repo1和repo2,那么如果repo1中的任何更改应该只触发repo1和repo2的相关任务。

我认为changeset将是最有用的:更改将触发构建,但由于更改只发生在特定路径上,因此只会启动该构建。

票数 2
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/8717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档