如何在gitlab CI上为不同的作业共享相同的脚本?

时间:2019-08-13 11:46:57

标签: yaml gitlab-ci

我们正在将网站自动部署到暂存(在master分支上提交)和生产(已标记提交)。

为此,我们使用gitlab CI,并且该作业的几乎完全相同:仅发生部署的服务器不同。

由于这些工作的script部分长了几行(〜25),所以我希望能够以某种方式共享这些行,因此考虑到重构(如我现在所做的那样),必须更改一次。

对于服务器,唯一的区别是,我已经在每个作业定义上使用了variables:,所以剩下的唯一问题是如何共享script部分。

我尝试使用YAML锚点(即,定义一个部分并为其分配锚点并使用<<: &ANCHOR_NAME),但是gitlab CI插入工具不接受它。

我还查看了include:指令,但这是不允许在script:中使用的,也不能在全局中添加它,因为无论如何我都必须在模板上复制代码。

有什么建议吗?

0 个答案:

没有答案