在gitlab-ci.yml阶段的“脚本”中运行可选命令?

时间:2020-05-12 21:23:41

标签: maven gitlab gitlab-ci gitlab-ci-runner

我处于下面的阶段,该阶段将在我的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

1 个答案:

答案 0 :(得分:1)

变量.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

第一行脚本仅在SKShapeNode项目中运行。第二行脚本将在每个项目中运行。