运行 gitlab-ci.yml 阶段的 "script" 中的可选命令?

Running optional commands in a gitlab-ci.yml's stage's "script"?

我有下面的阶段,它将 运行 一个基于我的 java 代码的 Maven 构建,它工作正常。但是,我有多个 Java 项目 运行 宁同一个 Maven 构建,并且 Java 项目之一需要额外的命令才能 运行 通过 script

例如 script 中的第一个命令需要是 npm i yarn,但仅适用于单个项目。我将如何使用变量来添加它?

build maven:
  artifacts:
    expire_in: 3 day      # don't keep these around for long
    paths:
      - target/
  script:
    - echo "PIPELINE_DEFAULT_IMAGE - ${PIPELINE_DEFAULT_IMAGE}"
    - mvn -version
    - mvn package -Pprod -DskipTests=true

变量CI_PROJECT_NAME包含项目名称。

示例.gitlab-ci.yml

myjob:
  script:
    - if [ "${CI_PROJECT_NAME}" == "test" ]; then echo I am a CI job in the test project; fi
    - echo done

第一个脚本行只会在 test 项目中 运行。第二个脚本行将在每个项目中 运行。