Build gitlab-ci.yml作业:生成生产配置键不能与“规则”一起使用:仅限

Build gitlab-ci.yml作业:生成生产配置键不能与“规则”一起使用:仅限,build,gitlab,yaml,gitlab-ci,Build,Gitlab,Yaml,Gitlab Ci,在ci Lint中测试gitlab-ci.yml时出现语法错误。有人能提出解决这个问题的办法吗 build-production: stage: build only: - master image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - mkdir -p /kaniko/.docker - echo "{\&

在ci Lint中测试gitlab-ci.yml时出现语法错误。有人能提出解决这个问题的办法吗

build-production:
  stage: build
  only:
    - master
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - mkdir -p /kaniko/.docker
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
  rules:
    - if: $CI_COMMIT_TAG
很明显:

规则仅替换/例外,不能在同一作业中一起使用。如果将一个作业配置为同时使用两个关键字,则linter将返回一个键,该键可能不会与错误规则一起使用

我建议对您的两种情况使用
规则:

rules:
  - if: '$CI_COMMIT_REF_NAME == "master" && $CI_COMMIT_TAG'
很明显:

规则仅替换/例外,不能在同一作业中一起使用。如果将一个作业配置为同时使用两个关键字,则linter将返回一个键,该键可能不会与错误规则一起使用

我建议对您的两种情况使用
规则:

rules:
  - if: '$CI_COMMIT_REF_NAME == "master" && $CI_COMMIT_TAG'

非常感谢。我会投票,但我缺少代表级别。首先接受答案:-)我投了,谢谢。谢谢。我想投赞成票,但我缺少代表级别。首先接受答案:-)我投了,谢谢。