GitHub Actions
公式サイトGitHub Actionsとは
GitHub Actionsは、ソースコードを管理するGitHub上で、コードの変更や定刻などをきっかけに、あらかじめ定義した処理を自動で実行する仕組みです。代表的な用途は、変更のたびに自動テストと型チェックを実行して不具合を早期に見つける「継続的インテグレーション(CI)」と、検証を通過した変更をステージングや本番環境へ自動で配備する「継続的デリバリー(CD)」です。処理の内容は設定ファイルとしてリポジトリに置くため、手順が文書として残り、誰が実行しても同じ結果になります。
弊社が採用する理由
弊社では、GitHubでソースコードを管理する案件のCI/CDにGitHub Actionsを採用しています。変更が提案されるたびに、型チェック、静的解析、自動テスト、ビルドを実行し、問題があれば取り込む前に検出します。検証を通過した変更は、ステージング環境や本番環境へ自動で配備する流れにしており、手作業による配備ミスを防いでいます。PHPの案件ではDeployerというツールと組み合わせ、TypeScriptの案件ではVercelやAWSへの配備を同じ仕組みで扱っています。加えて、生成AIによるコードレビューをGitHub Actionsの処理として組み込み、変更内容に対する指摘を自動で得る運用も行っています。指摘はあくまで参考情報とし、最終的な判断は人が行いますが、見落としやすい点を早い段階で拾える効果があります。実行手順が設定ファイルとして残るため、引き継ぎの際にも検証と配備の流れをそのまま渡せます。
向いている案件
- 変更のたびに自動テストと静的解析を実行したいプロジェクト
- ステージング・本番への配備を自動化し、手作業のミスを減らしたい場合
- 生成AIによるコードレビューを開発の流れに組み込みたい場合
- 検証と配備の手順を文書として残し、引き継ぎに備えたいシステム
保守・移行の観点
GitHub Actionsの処理は外部が公開する部品を組み合わせて作るため、部品の版を固定し、定期的に更新する運用が必要です。配備に使う認証情報は暗号化された保管場所に置き、権限を最小限にして定期的に見直します。実行時間は利用量に応じた課金の対象になるため、変更のあった部分だけを検証する工夫や、不要な実行の抑制で費用を抑えます。テストが不安定に失敗する状態を放置すると検証の信頼性が下がるため、失敗の原因を都度取り除くことが運用の要です。
組み合わせて使う技術
よくあるご質問
GitLabで管理しているソースコードでも同じことはできますか?
GitLabにも同様の自動化の仕組みがあり、弊社ではGitLabの案件にも対応しています。既存のリポジトリの置き場所に合わせて、同等の検証と配備の流れをご提案します。
AIによるコードレビューは人のレビューの代わりになりますか?
代わりにはなりません。AIの指摘は参考情報として活用し、変更の取り込みは必ず人が確認して判断しています。見落としを減らす補助として位置づけています。
関連するサービス
関連する開発ガイド
- 納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
- 検収(受け入れテスト)で確認すべきことWebシステムの検収で発注側が確認すべきことを、検収条件の確認、テスト項目の作成、ステージングでの実施、不具合の記録と切り分け、検収書の作成の手順で解説し、契約不適合責任との関係も整理します。
- 中小企業のWebシステムに最低限必要なセキュリティ対策専任の担当者がいない中小企業でも押さえておきたい Web システムのセキュリティ対策を、SSL/TLS・認証と多要素認証・権限の最小化・アップデート・バックアップ・ログ・個人情報の順に優先度をつけて整理します。
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開