我有个问题 . 我有两个来自两个不同分支的合并请求到项目中的主分支 .
现在我想在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文件夹?