GitHub Actions中的矩阵是什么?

时间:2019-11-22 22:26:05

标签: github continuous-integration continuous-delivery github-actions

GitHub发布了他们的替代CI系统,称为Actions。市场上的各种工作流程,例如setup-node,其自述文件中都包含“矩阵测试”示例:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        node: [ '10', '8' ]
    name: Node ${{ matrix.node }} sample
    steps:
      - uses: actions/checkout@v1
      - name: Setup node
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: npm install
      - run: npm test

我以前使用过CircleCI,但是从没有偶然发现过这个概念。是某种并行计算吗?

1 个答案:

答案 0 :(得分:1)

测试矩阵背后的想法是,在几种不同的情况下,您需要运行完全相同的测试以确保其有效。例如,我可能有一个项目要在macOS和Linux上的Node 8和Node 10上进行测试。

我可以写一个矩阵,写一组通用的步骤,然后让工具为我创建和创建四个作业,而不是写四个作业,每个作业针对Node版本和OS的每个组合。