まずCEOのNat Friedman氏が登壇し、GitHubのこの1年間の成長について触れた。
昨年だけで1000万の開発者がGitHubのユーザとなり、4400万ものコントリビューションがあり、その80%は米国外からのものだという。3万以上の組織がGitHubを使っていて、Fortune 500にランクインしている企業のうち半分以上がGitHubを利用している。
この1年間のGitHubの拡大と、オープンソースのグローバルトレンドについては、GitHub Octoverseにて詳しく述べられている。
Friedman氏は「われわれは2025年までに1億人の開発者がGitHubユーザになると予想している」と力強く話し、オープンソースの世界がGitHubを中心に今後も拡大していくとの予見を示した。
1年間のベータ版を経て「GitHub Actions」正式リリース
昨年のGitHub Universe Keynoteで発表され注目を浴びた「GitHub Actions」。ビルドやデプロイ、テストといった開発者の煩雑なワークフローを自動化する仕組みだ。Dokerコンテナにパッケージ化された基本のステップ“Actions”を組み合わせてオリジナルのワークフローを作成し、GitHub上で実行できる。
1年間のベータ版の運用を経て、11月13日(現地時間)についに正式リリースされた。詳細について、デモを交えてJeremy Epling氏(Senior Director of Product Management)が発表した。
GitHub Actionsは、自分の作成したワークフローをGitHub上で公開して共有したり、他の人が作ったワークフローをインポートして活用したりできる点が特徴だが、ベータ版発表から1年経ち「さまざまなコミュニティが開発した1200のワークフローがマーケットプレイス上にすでに登録されている」という。
また、開発者のフィードバックを受け8月に追加された目玉機能が「CI/CD」だ。あらゆる言語、プラットフォーム、クラウドをサポートしており、この機能の登場によって、外部のCI/CDツールとの接続作業を省略することも可能となった。
すでに、さまざまな開発者がコントリビュートしているワークフローテンプレートがあり、これらももちろんオープンソースなので、編集して再利用できる。ちなみに、CI/CD機能の強化とともに、ワークフローはYAML構文で記述されるようになった(以前はHCL構文)。
Epling氏は、「GitHub Actionsで簡単にCI/CDを実行できる」と、Node.jsのモジュールをCI/CDのワークフローに載せて実行するデモを行った。
Actionsのタブに移動すると、左カラムのボタンから新しいワークフローを追加できる。クリックすると、ワークフローのテンプレートが2つ現れた。これは、主な言語としてJavaScriptが使われていることを自動で検知し、JavaScriptのリポジトリをビルド・テストするテンプレートを上に表示しているのだ。
もちろん、GitHub Actions自体はCI/CDに限らず、GitHub上のすべてのイベントを自動化することができる。登録済みの1200のワークフローからふさわしいものを探して適用できるのだ。 Epling氏は、「CI/CD自動化のシナリオや、Slackへの通知などいくつものワークフローをコミュニティが作成済みだ」と強調する。
先ほどのCI/CDのワークフローのファイルをコミットしプルリクエストを作成、リポジトリへのプッシュを実行すると、3つのNodeのバージョンのビルドが順番に実行されているのがリアルタイムに確認できる。任意の行をコピーして共有したり、ログ全体を検索したりすることも可能だ。
また、ワークフローを効率化するキャッシュ機能も注目のポイントだ。これによって、依存関係にあるファイルなどのローカルキャッシュを保持し、ワークフローをより高速に実行することができるようになる。
その他、セルフホストランナー(自社ハードウェアでのGitHub Actions実行)をサポートし、Raspberry Piを含むARMベースのアーキテクチャでもGitHub Actionsを実行できるようになったことも発表された。
また、5月にベータ版がリリースされた「GitHub Package」(旧称:GitHub Package Registry)の正式版もリリースされた。
これはソースコードとパッケージを1か所で管理するのに役立つ仕組みで、詳細情報やダウンロード統計などとともにGitHub上にホストされる。GitHub Actionsと併せて利用することで、パッケージを円滑にパブリッシュ、インストールすることができる。