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
    ```