我在使用docker image的gitlab-ci时遇到麻烦。在互联网上进行了大量搜索,但仍然感到困惑。
问题:我需要使用docker image作为gitlab ci构建的基础。
我正在使用shell executor,并且在我的gitlab-ci.yml中,我定义了如下图像:
image: "registry.gitlab.com/my_projects/my_repo:latest"
我将此docker映像推送到gitlab注册表。它包含构建所需的核心库(ruby,node,npm等)
我还在gitlab-runner / config.toml文件中定义了[runners.docker]设置, 其中包含以下几行:
[[runners]]
executor = "shell"
[runners.docker]
services = ["registry.gitlab.com/my_project/my_repo:latest"]
问题在于gitlab-runner会忽略该图像。
这是我使用的教程:
https://dev.to/zimski/the-complete-guide-to-setup-a-cicd-for-rails-5-on-gitlab-2f2d
是否可以在gitlab-ci中将docker image用作shell executor的基础?
答案 0 :(得分:0)
使用shell执行程序时,将像手动运行该shell一样执行作业。如果您随后要使用docker映像进行构建,则只需像在shell中使用docker映像进行构建时手动进行的操作即可。
从编写方式来看,您想在.gitlab-ci.yml文件中使用image
标签,并且正在设置[runners.docker]
设置,这听起来像是您想使用泊坞窗执行器。注册运行程序时,可以选择此选项而不是shell执行程序。您可以在此处找到有关执行人的更多信息:
https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-executors