![]() |
1
29
首先,我要说:谢谢你提出这个问题!这促使我(再次)寻找解决方案,因为我经常想知道这是否可能。我们还有大约20-30个完全相同的项目
所以我找到了一个可行的解决方案:
灵感来自
Auto DevOps .gitlab-ci.yml template
Gitlab本身创建了一个模板作业
define all functions used
和
call
每一个
文件夹 所以使用 shared ci jobs scipt :
常见和通用
您可以从中复制粘贴文件 project-1 到 project-2 它将使用相同的共享Gitlab CI函数。 这些示例非常冗长。出于示例目的,请以任何方式对其进行优化。 吸取的教训 因此,在大规模(40多个项目)应用上述结构后,我想分享一些经验教训,这样您就不必找出困难的方法:
|
![]() |
2
25
GitLab公司
这将允许您在包含共享
|
![]() |
3
10
自gitlab以来
version 12.6
,可以定义外部
|
![]() |
4
6
使用
|
![]() |
5
6
所以,我一直想发布我现在想到的内容:
目前,我们使用了@stefan van gastel的共享ci库思想和相对较新的
我创建了一个名为
每个想要使用此管道配置的项目都必须具有
使用这种方法,与管道相关的所有内容实际上都位于一个存储库中,并且是可重用的。我们将整个管道模板放在一个文件中,但我认为甚至可以将其拆分为一个yml文件中的每个作业。这样会更加灵活,可以创建默认作业,对于具有类似作业但并非每个项目都需要所有作业的项目,可以以不同方式合并在一起。。。 |
![]() |
6
4
具有
GitLab 13.5
(2020年10月)
以及: 看见 GitLab 13.6 (2020年11月)
|
![]() |
7
0
你可以研究一下 Dynamic Child pipeline . 它是随着 GitLab 13.2 (July 2020) :
看见 documentation 和 issue . |
![]() |
Stat.Enthus · 在bash脚本中设置aws cli配置文件 2 年前 |
![]() |
Pritish · 如何定制Jenkins pipeline舞台视图? 2 年前 |
![]() |
mslz · 从groovy活动引用参数中的json列表返回子列表 2 年前 |
![]() |
asaf · 如果Jenkins管道花费的时间太少,则强制构建阶段失败 2 年前 |
![]() |
Frak · 非常棒。按中嵌套映射的键对映射数组排序 6 年前 |
![]() |
Yash · 我怎么知道詹金斯管道的哪个阶段失败了 6 年前 |