0

我想在 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,因为它没有安装在那里。如何设置在我的性能测试/子目录中运行图像?

4

1 回答 1

0

您可以定义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
    ```
于 2020-11-20T11:06:48.050 回答