CI/CD Conference 2023から、コストをかけずにGitHub Actionsを実行するノウハウを紹介
CI/CD Conference 2023から、福岡のベンチャー企業のエンジニアによる、コストを掛けずにGitHub Actionsを実行するノウハウを解説したセッションを紹介する。セッションを担当したのは株式会社オルターブースの松村優大氏だ。
●動画:GitHub Actionsと“仲良くなる”ための練習方法
●資料:GitHub Actionsと“仲良くなる”ための練習方法
タイトルにあるようにGitHub Actionsを使い始めるためのノウハウを紹介しているが、機能面の解説というよりも、「いかにコストを抑えて利用するか?」というのがメインの訴求ポイントである。
前半ではソフトウェア開発のサイクル、ソフトウェアデベロップメントライフサイクル(SDLC)の一般的な内容を解説し、その中で自動化によって開発者の手間を省くことが大事であると説明した。
ここからGitHub Actionsについて解説を行った。
GitHub Actionsは、GitHub上で行われるさまざまな動作を自動化するためのツールであり、近年、ソースコードリポジトリとしてのGitHub上でのコードビルドのプロセスを担うCIツールとして注目されている。当然のことながらGitHubとは統合されており、GitHubがホストする形で実行されるランナーと、ユーザーが実行環境を用意することで実行されるSelf-hostedランナーが用意されていることに注目している。
GitHubがホストするランナーとローカルマシンやオンプレミス環境、さらにパブリッククラウド上でも実行できるのがSelf-hostedランナーだ。
ここで松村氏はGitHub Actionsを学習する上での課題を説明し、コミットなどの動作確認が難しい、ワークフロー内部のデータがわかりにくいなどのポイントを説明した。
これらの課題をGitHubのCEOのThomas Dohmke氏に直接ぶつけたところ、nektos/actというオープンソースソフトウェアが存在することを教えてもらったという。
●参考:nektos / act
ここからコンテナ内で実行されるランナーであるnektos/actに関する説明が始まった。
またジョブの実行についてもパラメータなどの説明を行い、さまざまな使い方が可能なことを紹介した。
ただしこのツールが使える範囲、ここでは練習できる範囲と説明しているが、「リポジトリ内で完結する限りにおいては問題ない」と説明。
nektos/actで実行されているのか、GitHub Actionsで実行されているのかを判定する方法についても、github.comが関連するイベントには使えないこと、キャッシュは使えないことなどを挙げたうえで、CIに限定した部分に関する練習台としては問題ないと説明した。
この後、Dev Containersについても紹介を行った。Dev ContainersはVisual Studio Codeの拡張機能で開発環境をコンテナ内で実現するツールで、今回はnektos/actをDev Containersで実行する方法を紹介した。
ここではDocker in Dockerとしての利用例として紹介。またGitHub Codespacesについても紹介を行い、開発環境をオンライン上で展開する方法について紹介を行った。
GitHub Codespacesの紹介では、何よりもマシン種別と価格についての説明を行った後にセキュリティについて解説を行っている辺りに、「いかに低予算で実行するのか?」という点が主な訴求ポイントになっているのがわかる。
全般的に「デベロッパーがしたいことをどう実現するのか?」という観点よりも「コストをかけずにやれることは何なのか?」に主眼が置かれた解説内容となっている。それはまとめのスライドの最初のポイントが「GitHub Actionsの練習にほとんどお金はかかりません」が置かれていることからもわかる。
またDev ContainersやGitHub Codespacesを使って開発環境を問わずに練習が行えることも訴求し、多くのデベロッパーにGitHub ActionsによるCIを推奨するセッションとなった。GitHubには、Actionsを実際に実行して学ぶためのCodespaces上に展開されるPlaygroundが用意されている。Actionsを学ぶのであればこれを利用する方法もあるだろう。
●参考:https://github.com/github/codespaces-actions-playground
「いかにコストを抑えるのか?」というのは大切で興味深い観点ではあるが、企業内で開発を行うデベロッパーにとってどれぐらいの価値があるのかについては評価を待ちたいところだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- CI/CD ConferenceからサイバーエージェントのCI/CDツール開発のセッションを紹介
- CNDT 2022、ArgoCDとGitHub Actionsの導入でリリース時間を1/4に削減した事例を紹介
- CI/CD Conference 2021 MicrosoftとGitHubの連携をMSKKのアーキテクトが解説
- GitHub Universe 2022、キーノートで見せた多角的にデベロッパーを支援する機能とは?
- GitHub Universe 2023で、GitHubのCSO、Mike Hanley氏にインタビュー
- 写真で見るGitHub Universe 2023、狭いスペースを最大限に使った展示ブースなどを紹介
- テストコードを書いて「GitHub Actions」でCIを実行してみよう
- フィーチャーフラグを抽象化するOpenFeatureとは?
- CI/CD Conference 2023より、Herokuから移行を行った小規模チームのCI/CD改善セッションを紹介
- 米GitHub Kyle Daigle氏インタビュー:セキュリティからSBOM、コーディング支援まで、開発者に恩恵をもたらすGitHubの最新アップデートとは