如何克隆到gitlab runner用户的主目录?
这是我的如何克隆到gitlab runner用户的主目录?,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,这是我的.gitlab ci.yml文件: image: docker stages: - build - test - deploy build-prod: stage: build only: - master tags: - docker script: - docker network create -d overlay reprox environment: master test-prod: stage: test
.gitlab ci.yml
文件:
image: docker
stages:
- build
- test
- deploy
build-prod:
stage: build
only:
- master
tags:
- docker
script:
- docker network create -d overlay reprox
environment: master
test-prod:
stage: test
only:
- master
tags:
- runner
script:
- echo "yolo"
environment: master
deploy-prod:
stage: deploy
only:
- master
tags:
- docker
script:
- docker stack deploy -c ./site1/docker-compose.yml site1
- docker stack deploy -c ./site2/docker-compose.yml site2
- docker stack deploy -c ./site3/docker-compose.yml site3
- docker stack deploy -c ./reverse-proxy/docker-compose.yml proxy
environment: master
我有虚拟回显作业,因此它将克隆到工作节点,但当repo克隆到任何节点时,它总是克隆到/home/gitlab runner/builds/random/0/docker/
我不需要变量,我只想让它在
/home/gitlab runner
目录中为每个gitlab runner克隆repo。为什么需要它?您可以使用CI\u PROJECT\u DIR
环境变量来引用克隆存储库的目录。是的,但是如何添加该变量?它应该在我的yml文件中的什么位置,看起来如何?我试着把它放在“image:docker”下,但那没用。这取决于:你在哪里需要那个变量?变量适用于所有作业。我只需在每个作业下添加变量,我希望回购协议位于特定位置?像这样部署prod:variables:CI\u PROJECT\u DIR:/home/gitlab runner/``不,它不是这样工作的。但是,您真的需要知道代码在哪里被克隆吗?若有,原因为何?