You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI/CD是否存在与Jenkins axes/axis等价的功能?

GitLab CI/CD 对应Jenkins axes/axis的实现方案

GitLab CI/CD 提供了和Jenkins声明式流水线axes/axis完全等价的功能,核心关键字是parallel: matrix,可以通过定义多维度变量自动生成任务的排列组合,所有组合对应的任务会默认并行执行。

基础用法示例

你可以直接在job下配置parallel: matrix字段,每个键对应的数组就是一个维度的可选值,GitLab会自动计算所有维度的笛卡尔积生成对应任务:

# 示例:多环境多版本测试任务矩阵
test:
  parallel:
    matrix:
      # 以下三个维度会自动生成 3*3*2=18 个并行测试任务
      - OS: ["Ubuntu 22.04", "CentOS 7", "Windows Server 2022"]
        JDK_VERSION: ["8", "11", "17"]
        NODE_VERSION: ["16", "18"]
  script:
    - echo "当前任务组合 OS=$OS / JDK=$JDK_VERSION / Node=$NODE_VERSION"
    # 你的实际测试/构建逻辑写在这里

常用扩展配置

  • 排除无效组合:如果不需要某些特定的排列组合,可以通过exclude参数过滤,无需修改原维度定义:
    test:
      parallel:
        matrix:
          - OS: ["Ubuntu 22.04", "CentOS 7", "Windows Server 2022"]
            JDK_VERSION: ["8", "11", "17"]
            NODE_VERSION: ["16", "18"]
        # 排除JDK8搭配Node18的无效组合,最终任务数为18-3=15
        exclude:
          - JDK_VERSION: "8"
            NODE_VERSION: "18"
    
  • 自定义非全排列组合:如果不需要所有维度的笛卡尔积,也可以拆分定义多组独立的矩阵规则,仅组内生成排列:
    deploy:
      parallel:
        matrix:
          # 第一组:AWS的dev/staging/prod三个环境
          - PROVIDER: "aws"
            STACK: ["dev", "staging", "prod"]
          # 第二组:GCP仅需要dev/prod两个环境,不会和第一组的AWS交叉
          - PROVIDER: "gcp"
            STACK: ["dev", "prod"]
    

parallel: matrix可以和GitLab CI的rules、needs、tags等其他所有关键字搭配使用,没有额外的使用限制。

内容的提问来源于stack exchange,提问作者Phanindra kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:57:01