マイクロソフトのソーシャル コード ビジネス GitHub は木曜日、同社の自動化システムである GitHub Actions が、IT 関係者の間では CI/CD という芸名でよく知られているサードパーティの継続的インテグレーションおよび継続的デプロイメント ツールと非常にうまく連携するようになったと発表した。
Actionsは10月にベータ版としてリリースされ、今年11月13日に一般公開される予定です。GitHubのパブリックリポジトリでは無料で利用できますが、GitHubの利用規約およびコミュニティガイドラインに定められた一定の使用制限と、サーバーレスコンピューティング、暗号通貨マイニング、その他の望ましくない行為の禁止が適用されます。
GitHub ActionsとCI/CDはどちらもソフトウェア開発タスクを自動化する手段です。Actionsは予想通りGitHubとの連携に優れていますが、JenkinsやTravisといった独立したCI/CDツールは、推奨プラットフォームやプラットフォーム固有のイベントに対する組み込みサポートを備えていません。GitHubは本日、Actionsがこれらの外部ツール、そしてユーザー独自のカスタムスクリプトやインストールをより幅広くサポートし、GitHubサービスと緊密に統合されたことを発表しました。
「GitHub Actionsはソフトウェアライフサイクルのあらゆる部分にプラグインでき、開発者が現在使用している多くのCI/CDツールと統合できます」と、GitHubの製品設計担当シニアディレクター、マックス・シェーニング氏はThe Registerへのメールで述べています。「あらゆる言語、あらゆるプラットフォーム、あらゆるクラウドをサポートします。」
「GitHub Actionsはアプリケーションの構築、テスト、デプロイを支援するだけでなく、開発者ワークフローに共通する他のタスク、例えば問題のトリアージと管理、リリースの自動化、ユーザーベースとのコラボレーションなどを自動化することもできます」と、GitHubのCEOであるナット・フリードマン氏はブログ投稿で述べています。「Actionsワークフローは、GitHub上の開発者ライフサイクル全体にわたるイベントに基づいてトリガーできます。」
Serverless Computing Londonにご参加ください。低コストでFaaS環境を構築できます。
続きを読む
Actionsは、一般的にコードのコンパイル、検証、テスト、ビルド、デプロイメントの自動化に使用されるCI/CDよりも、より幅広い自動化タスクを可能にすることを指摘しておく必要があります。ActionsはYAML (.yml)ファイル(HCL構文は非推奨)で宣言され、GitHub APIやその他のパブリックAPIエンドポイントと連携できます。
ワークフロー内の項目は、GitHub がホストする仮想マシンまたは Docker コンテナで実行され、ワークフロー内の各ジョブは独自の仮想環境に分離できるため、すべてを単一の環境で実行する CI/CD スクリプトで問題を特定するよりもデバッグが簡単になります。
Actionsにはまだいくつか問題点があります。例えば、キャッシュ(CI/CDタスクの高速化に役立ちます)のサポートが限定的であること、フォークからのプルリクエストがサポートされていないこと、そして潜在的なセキュリティ上の懸念などです。しかし、GitHubの広報担当者が発信する顧客からの熱烈なコメントの中には、こうした不満は見当たりません。例えば、
「GitHub Actionsは、チームがシンプルさを重視する一方で、高度なパイプラインを定義できるようにします」と、PhilipsのシニアソフトウェアエンジニアであるJeroen Knoops氏は述べています。「コードとしてのパイプライン、マトリックスビルド、そして事前定義された環境のパワーを1か所に集約します。GitHub Actionsは、再利用可能なステップを通じてワークフローを構築・共有することを可能にし、次世代のCI/CDパイプラインの構築に必要な要素を提供します。」
好意的な発言をするために事前に選ばれなかった人々は、GitHubのCI/CD市場への関心について、より慎重な姿勢を見せているようだ。CI/CDベンダーのCircleCIのCEO、ジム・ローズ氏は、The Register宛ての電子メールで「GitHubは自社のプラットフォームをすべてのパートナーにオープンにすることを約束していますが、真相は時が経てば明らかになるでしょう」と述べた。
GitHub は現在 4,000 万人の開発者によって使用されており、その規模が、小規模な競合企業の動きを制限する重力を生み出しています。
Actions はまだベータ版であるため、利用希望者は入場を申請する必要がありますが、申請するメリットがさらにあります。サービスのベータ アクセスを許可されたユーザーには、同社のコード モジュールの新生の倉庫である GitHub パッケージ レジストリを利用するためのチケットも提供されます。®