GitHub Actions 実験リポジトリ(github-actions-examples)

DevOps

概要

このリポジトリは「GitHub Actions を利用した CI/CD の検証」を目的に作られたサンプル集です。主に React(Web フロントエンド)や Serverless Framework(AWS)を対象にした自動ビルド・自動デプロイの雛形を揃えており、Android や Android NDK、Google Apps Script など多様な開発環境向けのディレクトリも含まれます。Firebase や iOS、Unity といった環境は未実装ながら実装予定に挙げられており、将来的にマルチプラットフォームの CI/CD パイプラインを統合することを視野に入れています。TypeScript をメイン言語に据え、実験的なワークフローや設定の積み重ねで「安定して動く方法」を確立することを狙いとしています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 30
  • ファイル数: 13
  • メインの言語: TypeScript

主な特徴

  • GitHub Actions を利用した CI/CD の実験的サンプルを収集・検証している点
  • React(Web)と Serverless(AWS)を中心に、複数プラットフォームのビルド/デプロイ雛形を用意
  • Android / Android NDK や Google Apps Script などネイティブ・スクリプト環境も含む多様性
  • 将来的な Firebase、iOS、Unity のワークフロー統合を想定した拡張性

技術的なポイント

リポジトリの技術的な核は「GitHub Actions を使って各種プラットフォームのビルドとデプロイを自動化すること」にあります。README にある通り、React は master への push をトリガーに自動ビルドを行う想定で、Node 環境のセットアップ(actions/checkout、setup-node)、依存キャッシュ(actions/cache)やビルド成果物のアーティファクト保存(actions/upload-artifact)などの基本パターンが想定されています。Serverless Framework(AWS)向けには、npm で serverless を導入して serverless deploy を実行するフローになり、AWS 認証情報は GitHub Secrets(AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY)により安全に注入します。Android/AndroidNDK フォルダに示唆されるように、ネイティブビルドでは JDK、Android SDK、NDK のセットアップと gradle 実行、さらに NDK のクロスコンパイルや ABI ごとのビルドマトリクスが必要になります。GoogleAppScript ディレクトリはスクリプトのデプロイ自動化を想定しており、gcloud や clasp(Google Apps Script CLI)を用いたトークン管理・デプロイ手順が考えられます。全体として、ワークフロー設計では機密情報管理(Secrets)、実行環境のキャッシュ最適化、ビルド並列化(マトリックス)、アーティファクト管理、失敗時のロールバックや通知(Slack 等)を組み合わせることがポイントです。未実装の Firebase や iOS、Unity を追加する場合は、それぞれ firebase-tools のトークン管理、Apple の証明書/プロビジョニング管理、Unity の CLI バッチモードとライセンス認証をワークフローに組み込む必要があります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • Android: dir
  • AndroidNDK: dir
  • GoogleAppScript: dir
  • README.md: file
  • package.json: file
  • tsconfig.json: file
  • src: dir
  • workflows: dir(.github/workflows にワークフローファイルがある想定)
  • serverless: dir(Serverless 設定やハンドラを格納)
  • react-app: dir(React Web のソース)
  • other-scripts: dir

…他 8 ファイル

各ディレクトリは対象プラットフォームごとにビルドスクリプトや設定ファイルを分離しており、ワークフローから対象ディレクトリを参照して処理を実行する設計です。TypeScript のコンパイルや lint、テスト(ユニット/統合)を個別に走らせ、成功した成果物をデプロイする流れを想定しています。

まとめ

GitHub Actions を軸に複数プラットフォームの CI/CD を実験するための実用的な雛形集です。拡張性が高く実運用向けへ育てやすい構成です。

リポジトリ情報:

READMEの抜粋:

Github Actionsで自動デプロイしてみる

やってみる開発環境

目的

Github Actionsが使用できるようになったのでGithub上でのCI/CDの検証を行う。 CI/CDの検証を行って、うまく行く方法が確立されたら、他のプロジェクトにも適用する。

やりたいこと

  • React Web: ReactでWeb frontendの開発を行い、masterにpushされたら自動的にbuildする。Buildが完…