マトリックスジョブの使用
1+ year ago1 min read
クラウド
Server v4.x
Server v3.x
マトリックスジョブにより、引数を使って 1 つのジョブを複数回実行することができます。 引数はパラメーターを使って提供されます。 この機能は、複数のオペレーティングシステムでのテストや、異なる言語 / ライブラリバージョンに対するテストなど、多くの用途に役立ちます。
マトリックスジョブを使用して、複数の OS テストを実行する
以下の例では、2 つのバージョンの Node.js. を使って Linux Docker コンテナ、Linux VM、macOS 環境で test
ジョブが 実行されます。 test
ジョブの各実行において OS と Node.js の両方のバージョンを設定するために異なるパラメーターが渡されます。
Docker実行環境を使用する場合は、イメージ・レジストリ(image registries)から Docker プルを認証することを推奨します。 認証されたプルでは、プライベートな Docker イメージにアクセスすることができ、レジストリのプロバイダによっては、より高いレート制限が付与される場合もあります。 詳細は、 Docker の認証付きプルの使用 を参照して下さい。 |
version: 2.1
orbs:
node: circleci/node@4.7
executors:
docker: # Docker using the Base Convenience Image
docker:
- image: cimg/base:stable
linux: # a Linux VM running Ubuntu 20.04
machine:
image: ubuntu-2004:202107-02
macos: # macos executor running Xcode
macos:
xcode: 14.2.0
jobs:
test:
parameters:
os:
type: executor
node-version:
type: string
executor: << parameters.os >>
steps:
- checkout
- node/install:
node-version: << parameters.node-version >>
install-yarn: true
workflows:
all-tests:
jobs:
- test:
matrix:
parameters:
os: [docker, linux, macos]
node-version: ["14.17.6", "16.9.0"]
実行するジョブのリスト
このマトリックスの拡張バージョンでは、 all-tests
ワークフローの下で以下の一連のジョブが実行されます。
- test-14.17.6-docker
- test-16.9.0-docker
- test-14.17.6-linux
- test-16.9.0-linux
- test-14.17.6-macos
- test-16.9.0-macos
次のステップ
マトリックスジョブに関する詳細は、 設定ファイルのリファレンスを参照してください。