先週はこちら「ブログズミ: [Azure Pipelines] iutest のパイプラインを Multi-stage pipelines に変更した」
今週は CircleCI です。
YAML の整理
まずは CircleCI のサンプルを参考にして、YAML をキレイに変更しました。もともと gcc/clang でそれぞれ 4 パターンビルドしていたジョブを、アンカー・エイリアスを駆使して gcc/clang 別々のジョブに分けました。
以下、YAML の Before/After になります。
Before
After
ファイルの先頭部分はあまり変わってないですが、ファイルの末尾あたりにあるジョブの定義とワークフローの定義が YAML のアンカー・エイリアスを使ってとてもシンブルになっていると思います。
CI が定めた名前のキーではなく、任意のキーでアンカーを作って再利用するやり方はとてもいいなーと思いました。
(CI サービスによってはスキーマにないキーを許容しないサービスもあった気もするが・・)
GitHub PR の Checks に表示する
PR の Checks に表示するには「CircleCI Checks」をインストールする必要があったみたいだったので、遅ればせながらインストールしました。「Organization Settings」の「VCS」に「Manage GitHub Checks」ボタンがあるのでそちらでインストールできます。
権限確認と適用する範囲を決めたら完了です。
このように表示されます。
お詫びと訂正
「#技術書典 応援祭」始まりました。— ずみっくす@技術書典8(技術書典 応援祭) (@srz_zumix) March 7, 2020
「あつまれ CI サービス タダではじめる継続的インテグレーション生活」の PDF 版を販売してます。
よろしくお願いします :Dhttps://t.co/igsHDPy9P2
BOOTH でも販売中https://t.co/Ks4GhSE9ib
本書で、Circle CI の 4 並列制限がなくなったと書いていましたが、あれは真っ赤なウソでした。
お詫びして訂正致します。
今回並列数を増やそうとして気づきました。。
実際には、コンテナの並列数は今までどおり 4 つまでとなっているようです。(ただ、これは CircleCI 1.0 のころの設定画面なので CircleCI 2.0 になってどう管理されいるのか、まだ良くわかってません)
また、OSS プランはベースがあくまでも Free プランなので、ジョブの並列数は Pricing 記載の通り 1 つまでの制限になっているようです。
ジョブが1つずつ実行されていることを確認しました。
これを機に、各 CI サービスの並列実行のサンプルリポジトリを作成することとしました。
近いうちに CI Specs に付け加える予定です。
以上。
0 件のコメント:
コメントを投稿