如何在 gitlab CI 管道期间在构建主机(不是 docker 容器)上运行脚本

who*_*ked 5 gitlab-ci

我是 Gitlab(和 YML 文件,以及该项目中的其他所有内容...)的新手,并且想要向构建管道添加一些脚本以自动生成发布文件。

我在 gitlab-ci.yml 中的分支发布部分添加了一些脚本行,并且可以看到它们通常在控制台输出到 Gitlab UI 中执行我想要的操作。但是,经过一番绞尽脑汁之后,我现在意识到构建本身是在 docker 实例中执行的,这解释了为什么我在 Gitlab 主机上看不到发布文件。

有没有办法从 Gitlab 主机上的 YML 文件执行脚本,而不是在构建容器内?

cec*_*ami 4

这取决于执行脚本的Gitlab Runner执行器类型。

如果作业在具有docker executor 的运行器上执行,则每个作业将在新容器中运行。

如果作业在具有Shell 执行器的运行器上执行,则作业将直接在运行器计算机上执行。

顺便说一句,不建议将运行程序放在托管 Gitlab 服务器的同一台计算机上。特别是带有 Shell 执行器的跑步者。它会损害弹性和可扩展性。CI/CD 作业可能会破坏整个主机并使您的 gitlab 服务器不可用。