日本のエンジニアたちが見たGitHub Actions―パネルディスカッションより
続いて、GitHub Universeの現地を訪れて生の発表を聴いたエンジニアが、パネルディスカッションを行った。モデレーターの及川氏に加え、登壇したのは下記の4名。
- リクルートホールディングス 荒川裕紀氏:リクルートテクノロジーズで技術顧問を務める。
- デンソー 石田晋哉氏:チーフエンジニア。普段はGitHubではなく別のサービスを利用。
- ZOZOテクノロジーズ 大平哲也氏:ZOZOTOWNの作り直しに携わり、開発プロセスを自動化。
- NTTコミュニケーションズ 松原陸氏:技術開発部に所属。学生の時からGitHubを利用。
GitHub Universeに初めて参加した松原氏は、「新機能の発表など、テック系の話が中心になるのかと思っていたら、どうエンジニアやコミュニティを育てていくか、といったソフトウェアエンジニア界隈を成長させるような話を聴けて、モチベーションが上がるイベントだった」と振り返る。
会場でもかなりの盛り上がりを見せたGitHub Actionsについて、パネリストたちはどう感じたのだろうか。
松原氏は、現地ですぐにベータ版にサインアップしたという。発表を聴いた時点では、CircleCIなどとかち合っている印象だったが、トリガーとなる26のイベントの中には、「Wikiが更新された」などニッチなものもある。「イシューをきっかけにして、何かしらのトリミングをしたあとにCI/CDを走らせる。CI/CDツール単独ではできなかったことを実現できるようになり、共存してエンハンスできる機能になるのかなと思っている」と予想した。これに対して及川氏は、CI/CDツールとして使うにはまだ足りない機能があり、進化の方向によっては喰い合うこともありえると指摘した。
一方大平氏は、「CI/CDツールを使っていると、GitHubからその都度プルしなければならず冗長だと感じることが多いが、その部分を解消できそう。ちょっとしたコードの改修などはGitHub上で完結させた方が分かりやすいと思うので、GitHub Actionsは使ってみたいと思った」と話し、具体的な活用方法も想定している様子。
「現在、Swaggerなどで仕様を定義して、ドキュメントやコードを自動生成している。これをCI/CDツールの中でやると、うっかりするとファイルを作ってプッシュして…と無限ループになる。それをGitHubでできると、ハンドリングしやすいと思う」(大平氏)
もう1つ大平氏が試したいと話したのは、普段技術ブログを書く際に、誤字脱字のチェックをリンターで行ってGitHubにプッシュしているが、それを連携してGitHub上で完結させる使い方。プッシュされた内容についてチェックしたり改善したりするアクションを作っていけたら、開発が楽しくなるのではと大平氏は提案した。
続いて石田氏は「最初にGitHub Actionsを聴いた時は、『GitLabではもともとできていたよ』と思っていたが、2日目のFlicのデモを見て、アイデアが面白いと感じた。自分の会社はパーツ屋なので、物理的な部分とのつながりを考えなければいけない。トリガーをフィジカルなところから設定できるのは魅力的で、いろんな可能性があっていいと思った」と、自身の会社の事業内容から見て、期待できる点を挙げた。「フィジカルなところとのつながり」に関連して、「海外のメディアはCI/CDツールよりもIFTTTとの類似を指摘していた」と及川氏。ただしビジュアルでフローを構築できる一方で、コードとしても扱える点がGitHub Actionsのメリットだ。
最後の荒川氏は、GitHub Actionsには3つの使い方を考えられるとして活用方法を挙げた。1つ目はホスティングしてくれるボットとしての使い方。2つ目は小さいオープンソースや資金の少ないプロジェクトのCI/CDツールとして。そして3つ目は、それぞれのCI/CDツールで強みを生かして別々のことをやりたい場合に、それらを組み合わせるために活用するというものだ。これは先ほどのIFTTTと類似した使い方になる。
「CI/CDツールにも特徴がある。とにかく早くコンテナを作りたい時は、Cloud Buildでマシンパワーのものを持ってくるなど。そういったワークフローの整理整頓をするのに便利そうだと思っている。CDのところで言うと、GitHubにマージされてそれがCircleCIに行って、Netlifyに行くワークフローがあった場合に、GitHubから直接Netlifyに行くことが可能になる。CI/CDツールの1つ上のレイヤーのサービスとして活用されていくのではないかと考えている」(荒川氏)
「GitHub Actionsに入ってくれたらうれしい機能は?」と及川氏が問いかけると、荒川氏は「VMのサイズ指定」と回答。また、現状のベータ版では起動時間が決まっており、その時間を過ぎてしまうと落ちてしまうことも課題として挙がった。GitHub Japanの池田氏は「ベータ版なので今後変わっていくとは思う」と補足した。
及川氏は定期的にジョブを実行できる「cronみたいな機能があってもうれしい」と話し、CircleCIにNightly Buildsがあるように、時間指定で動いてくれるものがあると汎用性が高まるのではと提言した。また荒川氏は「『俺の考えた最強のGitHub Actions』をシェアする展示サイトみたいなのがあるといい」と提案。これに対して池田氏は「今もサイドバーには出てくるので一覧としては見られるはず。アクションだけを展示するサイトは今ないが、当然実装されるはず」と展望を話した。
単なる改善ツールにとどまらない、それぞれのGitHub Actions
GitHubやそのユーザー企業、そして日本のエンジニアから見たそれぞれの「GitHub Actions」。限定ベータ版のため、多少制約はあるものの、みな普段の開発を改善し面白くするのに使う、あるいは使えそうと考えている様子だった。
GitHub Universe内での発表だけでも、これだけ活用のアイデアが生まれ共有された。自由度が高いゆえに、利用する開発者によって作るアクションは多様になる。その効果は、ワークフローの自動化ツールとして「43%の時間をコードを書く以外のことに使っている」現状を改善するだけにとどまらないだろう。だからこそ作成したアクションをシェアしたり、誰かが作ったアクションを利用したり、開発者が新たなアイデアを共有し刺激し合うことで可能性はさらに広がりそうだ。正式版のリリースに期待が高まる。
