GitLab CIのmatrixを使ってみた


GitLab 13.5から実装されたCI/CDの Parallel matrix を使ってみたのでメモっておきます。

GitLab CI/CD matrix

環境

項目 バージョン 備考
GitLab 13.6.1
GitLab Runner 13.6.0
Docker 1.13.1 Runnerの環境

matrixで何ができるの?

今までのGitLabで同じテスト内容を複数の環境(バージョン違いなど)で実行しようとした場合、環境毎に記述する必要がありましたが、matrixを使う事で簡易的に書けるようになりました。
他のCIサービスでは出来ていた機能ですが、GitLabでも出来るようになりました。

matrixを使ってみる

matrix を使う場合は parallel に記述します。
以下の例では multi-version-test でmatrixに定義されているバージョンの環境を用意する gitlab-ci.yml です。
matrixで定義した値はキー名の変数で参照することができます。

これを実行すると以下の組み合わせの環境が multi-version-test で構築されます。

Pythonバージョン Ansibleバージョン
3.6 2.9.15
3.6 2.10.3
3.7 2.9.15
3.7 2.10.3

実行結果

multi-version-test で4つのテストが並行して実行されます。

環境も問題なく出来上がってることをが確認できます。

テストの表示名は次のようになります。

同時にジョブを実行させる場合は、gitlab-runnerのconfig.tomlの設定で concurrent の数をデフォルトの1から変更する必要があります。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください