Gitlab管道从子目录运行不同的docker映像

Gitlab管道从子目录运行不同的docker映像,docker,docker-compose,gitlab-ci,gitlab-ci-runner,gitlab-pipelines,Docker,Docker Compose,Gitlab Ci,Gitlab Ci Runner,Gitlab Pipelines,我想在gitlab管道中作为一个单独的阶段运行性能测试。为此,我想提出一个不同的形象与docker容器比我使用的所有其他阶段 所以我的项目看起来像这样: 项目: 在gl-pipeline.yml中,我设置了如下任务 performance-tests: image: my_main_image stage: performance-tests script: - cd ./performance-tests && bzt perfomance-tests-jm

我想在gitlab管道中作为一个单独的阶段运行性能测试。为此,我想提出一个不同的形象与docker容器比我使用的所有其他阶段

所以我的项目看起来像这样: 项目:

在gl-pipeline.yml中,我设置了如下任务

performance-tests:
  image: my_main_image
  stage: performance-tests
  script:
    - cd ./performance-tests && bzt perfomance-tests-jmeter.yml
现在,当我在管道中运行任务时,bzt performance-tests-jmeter.yml正在项目根目录中定义的docker映像中执行,因此无法运行bzt,因为它没有安装在那里。
如何设置在我的性能测试/子目录中运行映像?

您可以定义每个阶段使用的
映像,因此为了使用此自定义映像,您应该首先构建此映像(安装了bzt的映像),将其推送到docker注册表,然后在
性能测试目标中使用它而不是主映像

performance-tests:
  image: <image_you_built_and_pushed_to_registry>
  stage: performance-tests
  script:
    - cd ./performance-tests && bzt perfomance-tests-jmeter.yml
    ```
性能测试:
图片:
阶段:性能测试
脚本:
-cd./performance tests&&bzt performance-tests-jmeter.yml
```
performance-tests:
  image: <image_you_built_and_pushed_to_registry>
  stage: performance-tests
  script:
    - cd ./performance-tests && bzt perfomance-tests-jmeter.yml
    ```