如何克隆到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/``不,它不是这样工作的。但是,您真的需要知道代码在哪里被克隆吗?若有,原因为何?