我有个问题 . 我有两个来自两个不同分支的合并请求到项目中的主分支 .
现在我想在GitLab中为每个合并请求启动一个环境 . 我使用shell执行程序执行此操作,并使用 docker run image_name 启动docker容器,其中我从容器内的构建过程安装文件夹 . 看起来像这样:
阶段: - 部署

deploy_stage:
  stage: deploy
  script:
    - docker run -d --name ContainerName -v ${CI_PROJECT_DIR}:/var/www/html -e VIRTUAL_HOST=example.com php
  environment:
    name: review/$CI_COMMIT_REF_NAME
    url: http://example.com
    on_stop: stop_stage
  tags:
    - shell
  except:
    - master

stop_stage:
  stage: deploy
  variables:
    GIT_STRATEGY: none
  script:
    - docker stop ContainerName
    - docker rm ContainerName
  when: manual
  environment:
    name: review/$CI_COMMIT_REF_NAME
    action: stop
  tags:
    - shell

现在我的问题是一个环境运行,当一个新作业运行时,结帐/代码被新管道作业覆盖,并且两个环境现在都有相同的代码,但它们应该是不同的 .

有没有人有一个解决方案,我如何配置gitlab运行器为每个合并请求有不同的checkout文件夹?