GitHubがCI/CDソリューションを発表。GitHub Actionsによる実装

2019年11月11日(月)
松下 康之 - Yasuyuki Matsushita
GitHubがCI/CD機能を発表。基本機能との統合や低価格を訴求する。

ソースコードリポジトリーサービスのデファクトスタンダードと言っても良いGitHub。その日本法人であるギットハブ・ジャパン合同会社が、GitHub上で実装されたCI/CDソリューションGitHub Actionsに関する説明会を実施した。GitHub Actionsは、2018年のGitHub Universeで発表されたGitHubのワークフローを実装するための仕組みだ。

GitHub Actionsは発表の当初から「ワークフロー」というキーワードから連想される「CI/CD」領域への応用が噂されていたと言える。筆者は2018年11月に開催されたGitHub Universeにおいて、製品担当のVPに「GitHub ActionsはCI/CDツールになるのか?」という質問を行っていた。これに対しての回答は「YesでもありNoでもある」というものであった。

そもそもGitHub社内では「Scripted GitHub」と呼ばれていたように、GitHub ActionsはGitHub上の操作を自動化するという発想の機能であり、その記述にもHCL(HashiCorp Configuration Language、VagrantやTerraForm、Consulなどを開発するサンフランシスコのベンチャー企業であるHashiCorpが開発したソフトウェアの構成を記述する言語)を採用していることが特徴であった。ベータでありながらもMicrosoftなどが様々なActionsを公開しており、認知が拡がっていることがわかる。

今回のCI/CDの発表にあわせたものと思われるが、このActionsの記述言語は、HCLに変えて、より多くのソフトウェアで利用されているYAMLへと変更された。ここでもまだベータとして開発途上であることがわかる。GitHub Actionsは、11月に行われるGitHub Universeで正式にGA版として公開されることが予定されている。しかしそれまではベータという状態で、今後も機能追加や修正などが行われていくだろう。

参考:GitHub Universeで製品担当VPが語ったGitHub Actionsのインパクト

以下、記者説明会からのスライドを紹介しながらプレゼンテーションを追っていこう。

説明を行うソリューションアーキテクトの池田尚史氏

説明を行うソリューションアーキテクトの池田尚史氏

最初に説明されたのは、ここ最近のGitHubの買収や新しいトピックに関する内容で、100以上の機能追加や改善が行われているという。特にPackage Registryはソースコード以外のバイナリーやライブラリーなどを格納するリポジトリ/レジストリで、CI/CDを実装する上では必要であったということだろう。またDependabotは、ライブラリーの依存関係を認識し、上流のソースコードが必要とするライブラリーに脆弱性防止のパッチなどの更新があった場合、GitHubにプルリクエストを送るという機能だ。

ここ最近の新機能

ここ最近の新機能

このスライドの中で紹介されている新機能のいくつかは、8月に実施された説明会でも解説されているので参照されたい。

参考:GitHub、ベルリンで発表した新機能などを解説するメディア説明会を開催

GitHubを使うデベロッパーは順調に増加しており、すでに4000万人を超えたと言う。8月の説明会では3600万人と紹介されていたので、この1ヶ月で400万人増えたということになる。

GitHubのユーザーも増加中

GitHubのユーザーも増加中

そして今回の主なトピック、CI/CDについて紹介を行った。

GitHub Actionsで実装されたCI/CD

GitHub Actionsで実装されたCI/CD

GitHub Actionsの主な特徴は、「GitHubに統合されていること」「イベントへのフック」「多くのプラットフォームや開発言語に対応」というところだろう。

GitHub ActionsのCI/CDの特徴

GitHub ActionsのCI/CDの特徴

より詳しくは次のスライドで紹介されているようにLinux、Mac、Windowsそしてコンテナをサポート、複数のプラットフォーム及び複数バージョンのビルドを行うマトリックスビルドのサポート、ログのストリーミング、及び検索機能、YAMLで記述するワークフロー、ということであろう。

生成されたビルド、通常は「Artifact」と呼ばれるパッケージはGitHub Package Registryに保存され、CI/CDに利用される。ちなみにPackage Registryはクラウドベースのみとなっており、オンプレミス側に実装することはまだできないという。これはGithubのオンプレミス版であるGitHub Enterpriseの対応とも同期を取るようで、オンプレミスだけでCI/CDを実装するためには11月の正式版を待つ必要があるということだろう。

詳しい機能紹介

詳しい機能紹介

またグラフィカルなUIでパイプラインを実装するのが最近のモダンなCI/CDツールの定番だが、今回のCI/CDにはビジュアルなパイプライン機能は実装されていないという。ワークフローはリスト形式で表現されるのが、現行のベータ版の機能ということだろう。

またCI/CDを利用する場合の価格も発表された。これはFreeアカウントの場合、月に2000分、つまり33時間20分が無料で利用でき、それ以降の追加利用時間についてはプラットフォームにより異なる金額が課金されるという。一ヶ月を20日とすれば、無料枠は一日につき1.6時間ということになる。これが多いか少ないかは、デベロッパーが必要とするビルド~テストの処理時間との兼ね合いとなるだろう。

CI/CDの料金

CI/CDの料金

さらに、オンプレミスサーバーでのCI/CD実行については無料という扱いになることが発表された。

オンプレミスでのCI/CDは無料

オンプレミスでのCI/CDは無料

総合的に判断すれば、GitHub Actionsが発表された時から予想された機能追加と言えるだろう。多くのツールがひしめくCI/CDの領域で、ソースコードリポジトリーを持つGitHubが選択されるためには、コスト面の優位性だけではなく脆弱性のスキャンなどのセキュリティ機能の強化も必要だろう。

しかし何よりも大切なのは、デベロッパーが快適にCI/CDを実施できる体験を提供できるかどうかであろう。GitHubの基本機能との統合を強調したのは、そのためだろう。11月の正式版発表が楽しみである。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています