GitHub10年の歴史において、最も変化の激しい1年間
まず登壇したGitHubのSenior vice president of Technology、Jason Warner氏は、GitHub Universeのコンセプトついて「GitHub Universeはただの開発者イベントではなく、プレミアなイベント。GitHubのイベントであり、参加しているみなさんのイベントです」と定義し、セッションを始めた。
Warner氏は、GitHubが今年で10周年のアニバーサリーイヤーであることを明かしながら、この10年の歴史を振り返った。2008年のGitHub API v1からスタートし、2010年に最初のプルリクエストが行われた。その後EnterpriseやAtomなどのサービスを開始し、2017年にはGitHub Business CloudやGitHub Marketplaceなどをはじめ、目まぐるしいほどの新サービス・新機能発表があったという。
また、GitHubを利用する開発者や企業についてのデータにも触れた。現在3100万人の開発者がGitHubを利用しており、800万のGitHub Enterpriseユーザーを抱えている。今年は過去10年間で最多となる11億ものコントリビューションがあり、800万の新規ユーザーが生まれた。詳しいレポートはThe State of the Octoverseで確認できる。
また、Microsoftによる買収についても触れ、「買収が完了するのはまだ先だが、年末近くになるだろう」とおおよその日程を示し、買収後も「われわれの開発者ファーストの精神は変わることはない」と語った。その後の記者会見では、「Microsoftの目標は、GihHubが目的としているところと基本的には被らない」旨を説明し、各々の目指す方向性が変わらないことを示唆した。
「GitHub Actions」は開発者の何を変えるのか?
今回のGitHub Universeで最も注目の発表が、「GitHub Actions」だ。「GitHub Actions」では、ビルドやデプロイ、テストといった開発者のワークフローを、Dokerコンテナにパッケージ化された基本のステップ“action”を組み合わせて作成し、GitHub上で実行できる。さらにそれをGitHub上で共有したり、共有されているワークフローを開発者が必要な形にカスタマイズしたりできるうえ、イベント(プッシュやイシューなど)がトリガーとなって実行されるので、ワークフローを自動化できる。これはオープンソースの仕組みをワークフローに当てはめたものだ。
これについてHead of PlatformのSam Lambert氏は「ワークフローをコードとしてGitHub上で実行しホストできるようにすることで、またそれがユーザーが作った機能性の高いエコシステムに支えられることで、再びソフトウェア開発を革新できると考えている」と紹介した。
さらに本機能は、開発者が実行したいものと異なる言語やプラットフォームのワークフローでも、適用し組み合わせることができる。
Kyle Daigle氏(Director, Ecosystem)が行ったデモでは、Node.jsのモジュールをテストしNPMへパブリッシュするまでの流れを示した。
右カラムにある“action”の一覧から必要なカードをドラッグ&ドロップし、NPMのテストのコマンドを定義したカードからパブリッシュのカードへとリボンを引っ張りワークフローを生成。GitHubのブランチにコミットがプッシュされると、自動でワークフローがスタートしテスト~パブリッシュまでできる仕組みになっている。
また、Node.jsのアプリケーションを、Heroku、Azure、AWSといったいくつかのクラウドに同時に並行してデプロイする流れのデモも行われた。
“action”のカードを直感的につなぎ合わせてワークフローを作成するのは確かに簡単な様子。2日目のKeynoteでは開発者が「43%の時間をコードを書くこと以外に使っている」現状が紹介されたが、そういった状況を改善し、開発を効率化する鍵となりそうだ。