連載 [第8回] :
  CI/CD Conference 2023レポート

CI/CD Conference 2023から、コストをかけずにGitHub Actionsを実行するノウハウを紹介

2023年6月27日(火)
松下 康之 - Yasuyuki Matsushita
CI/CD Conference 2023から、あまりコストをかけずにGitHub Actionsを実行するノウハウを解説したセッションを紹介する。

CI/CD Conference 2023から、福岡のベンチャー企業のエンジニアによる、コストを掛けずにGitHub Actionsを実行するノウハウを解説したセッションを紹介する。セッションを担当したのは株式会社オルターブースの松村優大氏だ。

●動画:GitHub Actionsと“仲良くなる”ための練習方法

●資料:GitHub Actionsと“仲良くなる”ための練習方法

「GitHub Actionsと“仲良くなる”ための練習方法」というタイトル

「GitHub Actionsと“仲良くなる”ための練習方法」というタイトル

タイトルにあるようにGitHub Actionsを使い始めるためのノウハウを紹介しているが、機能面の解説というよりも、「いかにコストを抑えて利用するか?」というのがメインの訴求ポイントである。

前半ではソフトウェア開発のサイクル、ソフトウェアデベロップメントライフサイクル(SDLC)の一般的な内容を解説し、その中で自動化によって開発者の手間を省くことが大事であると説明した。

MicrosoftとGitHubのソリューションを中心に紹介

MicrosoftとGitHubのソリューションを中心に紹介

ここからGitHub Actionsについて解説を行った。

GitHub Actionsの概要を説明

GitHub Actionsの概要を説明

GitHub Actionsは、GitHub上で行われるさまざまな動作を自動化するためのツールであり、近年、ソースコードリポジトリとしてのGitHub上でのコードビルドのプロセスを担うCIツールとして注目されている。当然のことながらGitHubとは統合されており、GitHubがホストする形で実行されるランナーと、ユーザーが実行環境を用意することで実行されるSelf-hostedランナーが用意されていることに注目している。

ワークフローから起動されるアクションがランナー上で実行される

ワークフローから起動されるアクションがランナー上で実行される

GitHubがホストするランナーとローカルマシンやオンプレミス環境、さらにパブリッククラウド上でも実行できるのがSelf-hostedランナーだ。

ランナーの種類を解説

ランナーの種類を解説

ここで松村氏はGitHub Actionsを学習する上での課題を説明し、コミットなどの動作確認が難しい、ワークフロー内部のデータがわかりにくいなどのポイントを説明した。

GitHub Actionsを学ぶ際の課題を解説

GitHub Actionsを学ぶ際の課題を解説

これらの課題をGitHubのCEOのThomas Dohmke氏に直接ぶつけたところ、nektos/actというオープンソースソフトウェアが存在することを教えてもらったという。

GitHub Actionsの辛さを解決するnektos/act

GitHub Actionsの辛さを解決するnektos/act

●参考:nektos / act

ここからコンテナ内で実行されるランナーであるnektos/actに関する説明が始まった。

nektos/act用のコンテナイメージの紹介。macOSとWindowsには非対応

nektos/act用のコンテナイメージの紹介。macOSとWindowsには非対応

またジョブの実行についてもパラメータなどの説明を行い、さまざまな使い方が可能なことを紹介した。

nektos/actのジョブ実行のパラメータを説明

nektos/actのジョブ実行のパラメータを説明

ただしこのツールが使える範囲、ここでは練習できる範囲と説明しているが、「リポジトリ内で完結する限りにおいては問題ない」と説明。

nektos/actで練習できる範囲を解説

nektos/actで練習できる範囲を解説

nektos/actで実行されているのか、GitHub Actionsで実行されているのかを判定する方法についても、github.comが関連するイベントには使えないこと、キャッシュは使えないことなどを挙げたうえで、CIに限定した部分に関する練習台としては問題ないと説明した。

nektos/actでの注意点のまとめと総評

nektos/actでの注意点のまとめと総評

この後、Dev Containersについても紹介を行った。Dev ContainersはVisual Studio Codeの拡張機能で開発環境をコンテナ内で実現するツールで、今回はnektos/actをDev Containersで実行する方法を紹介した。

Dev Containersの紹介

Dev Containersの紹介

ここではDocker in Dockerとしての利用例として紹介。またGitHub Codespacesについても紹介を行い、開発環境をオンライン上で展開する方法について紹介を行った。

GitHub Codespacesの紹介

GitHub Codespacesの紹介

GitHub Codespacesの紹介では、何よりもマシン種別と価格についての説明を行った後にセキュリティについて解説を行っている辺りに、「いかに低予算で実行するのか?」という点が主な訴求ポイントになっているのがわかる。

GitHub Codespacesの価格を紹介

GitHub Codespacesの価格を紹介

全般的に「デベロッパーがしたいことをどう実現するのか?」という観点よりも「コストをかけずにやれることは何なのか?」に主眼が置かれた解説内容となっている。それはまとめのスライドの最初のポイントが「GitHub Actionsの練習にほとんどお金はかかりません」が置かれていることからもわかる。

まとめ。GitHub Actionsの練習にはお金がかからないことが主な訴求ポイント

まとめ。GitHub Actionsの練習にはお金がかからないことが主な訴求ポイント

またDev ContainersやGitHub Codespacesを使って開発環境を問わずに練習が行えることも訴求し、多くのデベロッパーにGitHub ActionsによるCIを推奨するセッションとなった。GitHubには、Actionsを実際に実行して学ぶためのCodespaces上に展開されるPlaygroundが用意されている。Actionsを学ぶのであればこれを利用する方法もあるだろう。

●参考:https://github.com/github/codespaces-actions-playground

「いかにコストを抑えるのか?」というのは大切で興味深い観点ではあるが、企業内で開発を行うデベロッパーにとってどれぐらいの価値があるのかについては評価を待ちたいところだ。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

設計/手法/テストイベント
第8回

CI/CD Conference 2023から、コストをかけずにGitHub Actionsを実行するノウハウを紹介

2023/6/27
CI/CD Conference 2023から、あまりコストをかけずにGitHub Actionsを実行するノウハウを解説したセッションを紹介する。
設計/手法/テストイベント
第7回

CI/CD Conference 2023から、Kubernetesの構成をテストする事例を解説したセッションを紹介

2023/6/26
CI/CD Conference 2023から、ソフトバンクのエンジニアによるKubernetes構成をテストする事例を解説したセッションを紹介する。
設計/手法/テストイベント
第6回

CI/CD Conference 2023、DMMのエンジニアが解説するCIを加速するトランクベースの開発とは

2023/6/23
CI/CD Conference2023から、CIを加速するトランクベースの開発をDMMのエンジニアが解説したセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています