我的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,构建”
答案 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
。