今後、ワークフローはより自由になっていく
セッション後半では、GitHub Actionsを使ってマネージドKubernetesサービスのAmazon EKSへサービスをデプロイするデモが実施された。デモで用いられたワークフローは、GitHub Actionsのリポジトリ内にサンプルとして公開されているもの。挙動は以下のとおりだ。
featureブランチの場合
- Docker buildして対象サイトのDockerイメージを作成
- 作ったイメージをTagづけ
- イメージをDockerレジストリ(ECR)にプッシュ、登録(プッシュの前にECRへログインしておく)
Masterブランチの場合
featureブランチの挙動に加えて、以下のとおり。
- k8sのConfigをアップデート(aws eks update-kubeconfigする)
- k8sのクレデンシャルを設定
- ECRに格納されているイメージを、EKSへデプロイ
- デプロイされたことの確認
- ExposeされたIPアドレスをリスト
このワークフローにおいて、開発者がActionを自作する必要はない。すでに有用なActionがいくつも公開されているため、それらを組み合わせるだけでデプロイが実現できる。Actionや各種設定の解説をしながら、Amazon EKSへのデプロイが非常に容易に行えることを池田氏は示していった。
「今回のデモを見ていただければわかるように、Actionを作るのも、使用するのもとても簡単です。基本的には、既存のツールやオペレーションをコンテナ化するだけ。きれいにモジュール化すれば、再利用もききやすくなります」
すでにGitHub Actionsのリポジトリ上には、業務で活用できるようなActionがいくつもある。例えば、GCPやAWS、Azure、Heroku、Zeit、npmなどのクラウドサービスを操作できるActionが用意されている。また、Actionを開発・実行するのに役立つ各種ライブラリもそろっている状態だ。
最後に、池田氏は本セッションをこう総括した。
「今後、ワークフローはより自由になっていきます。ワークフローはモジュール化されて、オープンソースとしてみんなでブラッシュアップしていくものになるでしょう。みなさんと一緒に、ソフトウェア開発の世界に新しい1ページを作りたいと思っています」
お問い合わせ
GitHub