我是Gitlab(和YML文件,以及该项目中的几乎所有其他内容……)的新手,并且想向构建管道添加一些脚本以自动生成发布文件。
我在gitlab-ci.yml的分支的发布部分中添加了一些脚本行,可以看到它们通常正在按我希望的方式输出到Gitlab UI的控制台中。但是,经过一番努力之后,我现在意识到构建本身是在docker实例中执行的,这解释了为什么我无法在Gitlab主机上看到发布文件。
是否有一种方法可以从Gitlab主机上的YML文件中执行脚本,而不是在构建容器中?
答案 0 :(得分:1)
这取决于执行脚本的executor type的Gitlab Runner。
如果在带有docker executor的运行程序上执行作业,则每个作业将在新容器中运行。
如果作业在Shell executor的转轮上执行,则作业将直接在转轮机器上执行。
顺便说一句,建议不要将运行程序放在托管Gitlab服务器的同一台计算机上。特别是与Shell执行者赛跑的人。它损害了弹性和可伸缩性。 CI / CD作业可能会破坏整个主机,并使您的gitlab服务器不可用。