GitLab runner对不同的环境使用相同的文件夹

GitLab runner对不同的环境使用相同的文件夹,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我有个问题。在一个项目中,我有两个从两个不同分支到主分支的合并请求。 现在我想在GitLab中为每个合并请求启动一个环境。我使用shell执行器执行此操作,并使用docker run image\u name启动docker容器,从容器内的构建过程装载文件夹。看起来像这样: 阶段: -部署 deploy_stage: stage: deploy script: - docker run -d --name ContainerName -v ${CI_PROJECT_DIR}:/v

我有个问题。在一个项目中,我有两个从两个不同分支到主分支的合并请求。
现在我想在GitLab中为每个合并请求启动一个环境。我使用shell执行器执行此操作,并使用
docker run image\u 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 runner,以便为每个合并请求使用不同的签出文件夹