具有代码质量的Gitlab ci:此GitLab CI配置无效

时间:2018-09-03 05:02:50

标签: maven gitlab

我的ci配置在代码质量阶段不起作用:

image: maven:latest

stages:
  - code_quality
  - build

code_quality:
  image: docker:stable
  variables:
    DOCKER_DRIVER: overlay2
  allow_failure: true
  services:
    - docker:stable-dind
  script:
    - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
    - docker run
        --env SOURCE_CODE="$PWD"
        --volume "$PWD":/code
        --volume /var/run/docker.sock:/var/run/docker.sock
        "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
  artifacts:
    paths: [gl-code-quality-report.json]

build:
  stage: build
  script:
    - mvn compile

来源示例在这里:https://gitlab.com/tyvain/mvn-ci-test/blob/master/.gitlab-ci.yml

由于代码质量,我无法使其与官方gitlab示例一起使用:https://docs.gitlab.com/ee/ci/examples/code_quality.html

错误是:“此GitLab CI配置无效:code_quality作业:阶段参数应为code_quality,构建”

2 个答案:

答案 0 :(得分:1)

code_quality阶段缺少一个stage参数。包括以下内容:

code_quality:
  stage: code_quality
  image: docker:stable
  ...

答案 1 :(得分:0)

可能更糟的是,如果您有一个.gitlab-cy.yml文件(包括2个其他文件),则应将stages部分添加到主文件中。

示例:

  

主要:

stages:
  - build
  - test
  - analysis

include:
  - local: '/FRONTEND/.gitlab-ci.yml'
  - local: '/SERVER/.gitlab-ci.yml'
  

为什么?

因为如果在每个文件中放入stages,将仅使用一个文件(对我来说最后一个文件),其阶段可能不相同。因此,您将遇到这种类型的错误job: stage parameter should be