在 GitLab CI 中收到“规则:规则存在应该是字符串数组”错误

问题描述 投票:0回答:1

我尝试在 GitLab CI 中运行管道作业来执行 npm build,但前提是项目中存在触发上游管道的 package.json。我使用“needs:”从上游管道下载文件。当管道作业运行时,我收到一条错误消息:

jobs:packages.react:rules:rule exists should be an array of strings
。我检查了 GitLab 文档中的规则:存在:项目并且 YAML 语法是正确的。我确保 YAML 缩进正确。如何解决该错误?

这是代码:

packages.react:
  stage: app-build
  needs:
    - project: $UPSTREAM_PROJECT_PATH
      job: get-source-files
      ref: $UPSTREAM_BRANCH_REF
      artifacts: true
  rules:
    - exists:
        paths:
          - package.json
        project: $UPSTREAM_PROJECT_PATH
  image: $NODE_IMAGE
  script:
    - npm install --frozen-lockfile
    - npm run build
gitlab gitlab-ci
1个回答
0
投票

我解决了这个问题。这是由于我使用的 GitLab 版本是 16.9。 “rules:exists:project”功能在 16.9 版本中不存在,仅在 16.11 及更高版本中存在。我有一个自我管理的 GitLab 实例,因此我需要升级到 16.11。

© www.soinside.com 2019 - 2024. All rights reserved.