Gitlab 管道 运行 来自子目录的不同 docker 图像
Gitlab pipeline running a different docker image from subdirectory
我想 运行 在 gitlab 管道中作为一个单独的阶段进行性能测试。为此,我想使用 docker 容器生成不同于我在所有其他阶段使用的图像。
所以我的项目看起来像这样:
项目:
-src/
--gl-pipeline.yml
-.gitlab-ci.yml
-docker-compose.yml
-performance-tests/
--docker-compose.yml(performance image with bzt installed)
--perfomance-tests-jmeter.yml
在 gl-pipeline.yml 我已经设置了一个任务
performance-tests:
image: my_main_image
stage: performance-tests
script:
- cd ./performance-tests && bzt perfomance-tests-jmeter.yml
现在,当我 运行 管道中的任务 bzt perfomance-tests-jmeter.yml 正在 docker 图像中执行定义在项目的根目录中,因此无法 运行 bzt 因为它没有安装在那里。
如何在我的性能测试/子目录中设置 运行 图像?
您可以定义每个阶段使用的 image
,因此为了使用此自定义映像,您应该首先构建此映像(安装了 bzt 的映像),将其推送到 docker 注册表,然后然后在 performance-tests
目标
中使用它代替主图像
performance-tests:
image: <image_you_built_and_pushed_to_registry>
stage: performance-tests
script:
- cd ./performance-tests && bzt perfomance-tests-jmeter.yml
```
我想 运行 在 gitlab 管道中作为一个单独的阶段进行性能测试。为此,我想使用 docker 容器生成不同于我在所有其他阶段使用的图像。
所以我的项目看起来像这样: 项目:
-src/
--gl-pipeline.yml
-.gitlab-ci.yml
-docker-compose.yml
-performance-tests/
--docker-compose.yml(performance image with bzt installed)
--perfomance-tests-jmeter.yml
在 gl-pipeline.yml 我已经设置了一个任务
performance-tests:
image: my_main_image
stage: performance-tests
script:
- cd ./performance-tests && bzt perfomance-tests-jmeter.yml
现在,当我 运行 管道中的任务 bzt perfomance-tests-jmeter.yml 正在 docker 图像中执行定义在项目的根目录中,因此无法 运行 bzt 因为它没有安装在那里。 如何在我的性能测试/子目录中设置 运行 图像?
您可以定义每个阶段使用的 image
,因此为了使用此自定义映像,您应该首先构建此映像(安装了 bzt 的映像),将其推送到 docker 注册表,然后然后在 performance-tests
目标
performance-tests:
image: <image_you_built_and_pushed_to_registry>
stage: performance-tests
script:
- cd ./performance-tests && bzt perfomance-tests-jmeter.yml
```