首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分支中不同的Gitlab .gitlab-ci.yml文件

分支中不同的Gitlab .gitlab-ci.yml文件
EN

Stack Overflow用户
提问于 2018-08-31 04:24:50
回答 4查看 6.2K关注 0票数 3

我有这样的情况,我们在master中有.gitlab-ci.yml,这在分支‘开发’中是不同的,问题是我们有很多repos和很多分支。

我希望对.gitlab-ci.yml进行更改,但我希望确保所有分支都使用相同的.gitlab-ci.yml。我知道gitlab的设计让你的分支有不同的CI CD,因为你的管道可能是不同的。

一种方法是获取所有repos和所有分支,然后将相同的.gitlab-ci.yml复制到所有repos和分支。

你知道有什么更好的方法吗?

EN

回答 4

Stack Overflow用户

发布于 2018-09-02 18:20:12

您可以使用include关键字。它允许您包含来自远程URL或包含您的管道的special project的文件。例如,您可以创建大量“隐藏”模板prefixing them with .,然后根据需要使用extends关键字将它们包含到您的管道中。这还允许您使用变量配置管线模板。

注释:include在创建管道时执行。因此,在通过修复包含的文件创建管道之后,无法修复管道。

的老答案:

如果使用企业版,则可以使用include关键字。

如果你使用的是社区版,我能想到的最好的选择就是有一个check-yaml工作。它基本上运行git diff master -- .gitlab-ci.yml1。如果分支和主服务器上的.gitlab.yml不同,作业将失败,迫使您更新分支。虽然这不会使您的管道自动保持同步,但分流不会被忽视。

1:根据您的git strategy,您可能需要运行git fetch master

票数 2
EN

Stack Overflow用户

发布于 2018-08-31 21:26:34

也许你可以使用git submoduleschange,这是你的.gitlab-ci.yml的默认文件夹。

票数 1
EN

Stack Overflow用户

发布于 2018-09-03 19:22:23

我知道.gitlab-ci.yml在分支中可能不同,因为你的Prod配置项可能与其他分支中的' dev /Test‘不同,所以在不同的分支中有不同的.gitlab-ci.yml文件是很正常的,所以我们的开发团队将master与它们的分支合并并从那里开始更改。

这个想法是当你想让我们说“全局”改变的时候,但这是你将如何处理的问题。

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

https://stackoverflow.com/questions/52104876

复制
相关文章

相似问题

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