orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

GitHubでビルドもデプロイもできるようになった世界

f:id:orangeitems:20191114100114j:plain

 

GitHub Actionsはスゴイのでは

朝から唸った記事。

 

www.publickey1.jp

GitHub Actionsは1年前のGitHub Universe 2018で発表された新サービス。GitHubのイベントをトリガーとして、GitHub内で任意のDockerコンテナを実行でき、連係させていくことにより、ユーザーがGitHubで自由にワークフローを定義できるというものでした。

例えば、コードのマージをきっかけに、Dockerコンテナでコードをビルドし、テストを実行、クラウドへデプロイすることで、CI/CDの実現などが可能です。

 

これって、ローカルPCは単にソースコードの編集だけで済み、GitHubへpushすれば、勝手にクラウド環境までデプロイしてくれちゃうということですよね。

可能性を感じたので周辺情報を探りました。

 

GitHub Actionsとは何か

GigHub Actionsを詳しく解説した日本語記事がありますのでこちらをシェアします。

 

codezine.jp

この連載では、GitHubのサポートエンジニアが交代でGitHubについて一歩踏み込んだトピックを解説していきます。2回目となる今回は、GitHubの新機能「GitHub Actions」について紹介します。

 

こちらの記事を読んでわかりました。とにかく自分で作ったコンテナをGitHub上で実行できるということが核です。ただし、それをコンテナエンジンを動かす仮想サーバーは非力なもの。ですから、重いビルドは実質実効できないということになります。それでもSlackに通知を送ったり、スケジューラに登録したりといろんなことがGitHubから行うことができるのは可能性のかたまりだなぁと思います。

一方、今GitHub Actionsを実際に開いてみると、面白いことがわかります。

 

f:id:orangeitems:20191114093216p:plain

https://github.com/marketplace?type=actions

 

Marketplaceという場所で、1255種類のアクションがすでに登録されていることがわかります。つまり、いちいちコンテナを作りこまなくたって、これらのアクションをつなぎあわせるだけでもう、ワークフローが完成してしまうという塩梅です。

 

Developerたちの所感

もう一つ、最先端にいる日本のDeveloperたちが何を思ったか、の記事を紹介しておきます。

 

codezine.jp

 前編で紹介した通り、GitHub Universeで解説されたGitHub Actionsの活用方法はユーザーによってさまざま。多様なツールと組み合わせることで、開発者のワークフローを画期的に改善できる点が強調されたが、日本のエンジニアたちはこの新機能をどう見たのだろうか。

 

記事中にある前編と合わせてご確認いただければと思いますが、まぁ、CI/CDという言葉が本当に開発者の根源的な欲求であることがよくわかりました。

何しろ、本番に修正をデプロイするのがどれだけ大変なのか。

いろんなしがらみで、開発者の生産性や想像力を奪っている。

もっとストレスなく開発したい。

当然開発者たちは、ローカルPCがあり、テスト環境があり、そして本番環境があってそれぞれにどのように安全にリリースしていくか日々背負わされています。その裏方で運用エンジニアやインフラエンジニアが暗躍するのですが、あまりにもこれまで人力だったために全員にストレスがかかってきたと認識しています。

GitHubがバージョン管理だけではなく、もっと技術者の秘書としてもっと能動的に動いてくれたら、という夢を叶える画期的な更新になるのではと期待しています。

また、GitHubのコンテナエンジンも、お金を払えばもっとパワフルなリソースを得られるなど、進化していくような気もしています。今後に期待です。