小编Jak*_*cek的帖子

如何将规则的 GitLab CI 作业结合起来:if 与矩阵和allow_failure?

我需要像这样配置我的 GitLab CI 作业:

  1. 仅将作业$CI_PIPELINE_SOURCE == "merge_request_event"添加到管道中,
  2. matrix对于矩阵定义的每个版本,作业都会运行多次PHP_VERSION: [ '7.4', '8.0', '8.1' ]
  3. '8.1'必须与 一起运行allow_failure: true

我尝试编写直观的规则,因为我除了规则有效之外,但我得到了不同的结果。

我首先尝试了这个:

parallel:
matrix:
  - PHP_VERSION: [ '7.4', '8.0', '8.1' ]
rules:
  - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    when: on_success
  - if: '$PHP_VERSION == "8.1"'
    allow_failure: true
Run Code Online (Sandbox Code Playgroud)

它仅导致 PHP 8.1 的 MR 事件添加到管道中。

我的下一次迭代仍然是错误的:

  parallel:
    matrix:
      - PHP_VERSION: [ '7.4', '8.0', '8.1' ]
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      when: on_success
    - if: '$PHP_VERSION …
Run Code Online (Sandbox Code Playgroud)

pipeline gitlab-ci

6
推荐指数
1
解决办法
5362
查看次数

标签 统计

gitlab-ci ×1

pipeline ×1