在gitlab-ci.yml中是否可以有两个阶段,其中一个是使用docker runner运行,另一个是在shell中运行?
想象一下,我想在docker容器中运行测试,但我希望在容器中本地使用shell运行部署阶段。
在gitlab-ci.yml中是否可以有两个阶段,其中一个是使用docker runner运行,另一个是在shell中运行?
想象一下,我想在docker容器中运行测试,但我希望在容器中本地使用shell运行部署阶段。
虽然不是真正的阶段,但你可以使用标签配置选项来运行不同的作业,通过不同的运行器来运行它们,这样可以完全满足你的需求。
在Docker运行器中添加标签docker,在Shell运行器中添加标签shell(可以在构建器创建时或稍后在项目设置 -> 运行器中添加)。然后在你的.gitlab-ci.yml文件中设置tags
:
stages:
- test
- deploy
tests:
stage: test
tags:
- docker
script:
- [test routine]
deployment:
stage: deploy
tags:
- shell
script:
- [deployment routine]