使用 PWD 在 .gitlab-ci.yml 中定义变量时出错

elc*_*ano 6 gitlab gitlab-ci gitlab-ci-runner

我刚刚注意到,当PWD在 下访问变量时script,它会按预期工作,例如:

test:
    script:
    - docker run --rm -v $PWD/wd image [options]
Run Code Online (Sandbox Code Playgroud)

但是当上面的内容被包含的变量替换时,这就失败了$PWD。事实上,像下面这样的指令会导致错误:

variables:
    DOCKER_RUN: "docker run --rm -v $PWD:/wd"

test:
    script:
    - $DOCKER_RUN image [options]
Run Code Online (Sandbox Code Playgroud)

这是因为该变量DOCKER_RUN在这里被解释为“docker run --rm -v :/wd”。也就是说,就像PWD是空的一样,我不明白为什么。

我也一直在探索 gitlab预定义变量,但找不到合适的替代品PWD,而不是通过组合它们,例如。使用"${CI_BUILDS_DIR}/${CI_PROJECT_NAMESPACE}",这也会导致错误。

Uma*_* A. 4

我用了$CI_PROJECT_DIR

...

test:
  stage: test
  variables:
    PYTHONPATH: "$CI_PROJECT_DIR"
  script: 
    - pytest test/integration
Run Code Online (Sandbox Code Playgroud)