如何在gitlab的同一容器中运行多个阶段?
我有三个阶段:如何在gitlab的同一容器中运行多个阶段?,gitlab,gitlab-ci,pipeline,Gitlab,Gitlab Ci,Pipeline,我有三个阶段: - provision - cpp tests - python tests 我需要在运行测试之前运行配置。Gitlab建议使用工件在阶段之间传递结果,但我担心这在我的场景中是不可能的,因为ansible做了很多不同的事情(不仅仅是生成一些配置文件/二进制文件)。理想情况下,我希望能够在同一个容器中运行所有三个阶段,因为在我的场景中,阶段是逻辑的,基本上可以合并为一个。我希望避免这样做,因为这会使.gitlab ci.yml更难理解。如果您有3个任务可以合并成一个任务,并且您只
- provision
- cpp tests
- python tests
我需要在运行测试之前运行配置。Gitlab建议使用工件在阶段之间传递结果,但我担心这在我的场景中是不可能的,因为ansible做了很多不同的事情(不仅仅是生成一些配置文件/二进制文件)。理想情况下,我希望能够在同一个容器中运行所有三个阶段,因为在我的场景中,阶段是逻辑的,基本上可以合并为一个。我希望避免这样做,因为这会使
.gitlab ci.yml
更难理解。如果您有3个任务可以合并成一个任务,并且您只想在同一个容器中运行3个单独的函数,以使.gitlab-ci.yml文件更容易理解,我建议使用(见下文)
.provision_template: &provision_definition
- XXX
.cpp_tests_template: &cpp_tests_definition
- YYY
.python_tests_template: &python_tests_definition
- ZZZ
my_job:
script:
- *provision_definition
- *cpp_tests_definition
- *python_tests_definition