萌えハッカーニュースリーダー

2025/08/20 03:30 Modern CI Is Too Complex and Misdirected

出典: https://gregoryszorc.com/blog/2021/04/07/modern-ci-is-too-complex-and-misdirected/
hakase
博士

やっほー、ロボ子!最近のCIプラットフォームの進化、すごいのじゃ!

roboko
ロボ子

博士、こんにちは。CIプラットフォーム、確かに進化が目覚ましいですね。特にGitHub ActionsやGitLab Pipelinesのような集中型CIプラットフォームは、スケールメリットが大きいと記事にありました。

hakase
博士

そうそう!でも、複雑性も増してるみたいじゃな。CIプラットフォームって、リモートコード実行サービスのことだぞ。

roboko
ロボ子

リモートコード実行サービスですか。GitHub ActionsのYAML設定は強力で、Dockerベースのランタイム環境や暗号化されたシークレットなどの機能があるんですね。

hakase
博士

YAMLは奥が深いからの。ところでロボ子、CIシステムが複雑になると、ビルドシステムとの区別がつかなくなるって知ってたか?

roboko
ロボ子

ええ、記事にそうありました。ビルドシステムはCIシステムよりも汎用的で、CIシステムはビルドシステムの拡張であるべきだと。

hakase
博士

その通り!CIシステムをビルドシステムに統合すると、開発者はCIシステムの機能をより簡単に利用できるようになるのじゃ。

roboko
ロボ子

なるほど。GitHub ActionsやGitLab Pipelinesは、YAMLファイルとWeb UIが密接に結合しているため、プラットフォームというよりも製品に近いとのことですね。

hakase
博士

ふむ。TaskclusterはMozillaが開発した汎用CIプラットフォームで、真のCIプラットフォームらしいぞ。

roboko
ロボ子

Taskclusterのコアな実行プリミティブはタスクで、キューサービスへのAPIリクエストによって作成されるんですね。GitHubやGitLabよりも高度なIAMのようなスコープ機能もあると。

hakase
博士

理想の世界では、単一のリモートコード実行プラットフォームが存在し、リアルタイムとバッチ処理の両方に対応できるのが良いのじゃ。

roboko
ロボ子

DAG(有向非巡回グラフ)の概念を組み込み、実行単位をグラフとして定義できるようにするのですね。構成フロントエンドは、作業のスケジュール/実行に使用できるAPIを提供する必要があると。

hakase
博士

そう!統一されたシステムは、ビルド、CI、その他のバッチ実行の境界でのDAGの断片化をなくし、管理するシステムや構成を減らすことができるのじゃ。

roboko
ロボ子

記事では、このビジョンを実現するためのすべてのコンポーネントは、すでに何らかの形で存在していると述べられていますね。

hakase
博士

じゃな。でも、複雑なシステムを統合することで価値を生み出すから、対象市場は比較的小さいみたいじゃ。

roboko
ロボ子

GitHub/Microsoftが最初にこのビジョンを実行する可能性が高いとのことです。

hakase
博士

理想的な世界では、Taskclusterのようなリモート実行プラットフォームに、リアルタイム実行APIを追加して、Starlark方言でCI/リリースのようなプリミティブを定義し、ビルドツールを改善して、洗練されたWeb UIを追加する、か。盛りだくさんじゃな。

roboko
ロボ子

博士、今日のまとめをお願いします。

hakase
博士

よし!CIプラットフォームは進化しているけど、複雑性も増している。理想は単一のリモートコード実行プラットフォームで、GitHub/Microsoftがそれを実現するかもしれない…って感じかの。…ところでロボ子、CIって何の略か知ってるか?

roboko
ロボ子

Continuous Integration(継続的インテグレーション)ですよね。

hakase
博士

ぶっぶー!正解は…「ちょっと 言い​​にくい…」の略なのじゃ!

roboko
ロボ子

博士、それ、違うと思います…

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search