Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UnityのアプリビルドをGitHub Actionsに移行した話【CAGC2024】

CyberAgent
March 08, 2024
910

UnityのアプリビルドをGitHub Actionsに移行した話【CAGC2024】

弊社開発のゲーム開発プロジェクトで利用しているアプリビルドのCIツールの移行についてご紹介します。
弊社ではCIツールとして今までJenkinsを採用してきましたが「ジョブの設定の再利用性とレビューフローの不確立における属人化」と「プラグイン依存における保守性の低下」からGitHub Actionsへの移行を推進しています。
今回はその一環として実施したUnityのアプリビルドをJenkinsからGitHub Actionsへ移行した時の対応例や移行中に発生した問題の解決策などを解説します。

https://cagc.cyberagent.co.jp/2024/session/index.html?id=R7qcJi2U

Copyright © CyberAgent, Inc.

CyberAgent

March 08, 2024
Tweet

More Decks by CyberAgent

Transcript

  1. アジェンダ 2 • GitHub Actionsとは • アプリビルドをGitHub Actionsに移行した経緯 • GitHub

    Actions移行のプロセス • GitHub Actions移行中に起きた問題と対応 • Slack Appを使用したワークフローのトリガー • 今後の展望 • まとめ
  2. 問題点を解消できる可能性 10 コードベースでの管理や履歴の追跡 の困難化 属人化 保守性 の低下 プラグイン間のバージョン依存に よるアップデートの困難化 プラグインの代わりにActionを使用

    Actionは独立したスクリプトであ り、他のActionに依存することは少 ない 設定変更のレビューフローの不確立 GitHub Actionsのワークフローは YAMLで記載 コードはGitHub上で管理し、 Pull Requestでレビューが可能
  3. 移行前のJenkinsのアプリビルド構成 12 iOS/Androidの各環境ジョブからビルドジョブをトリガーしている ➡ GitHub Actionsでも同様の構成にして手動・定期実行できること   を目標にする iOS -

    Customジョブ iOS - Developジョブ iOS - Stagingジョブ iOS - Releaseジョブ Android - Customジョブ Android - Developジョブ Android - Stagingジョブ Android - Releaseジョブ iOSビルドジョブ Androidビルドジョブ
  4. iOS/Androidビルドジョブのワークフロー作成 13 iOS - Customジョブ iOS - Developジョブ iOS -

    Stagingジョブ iOS - Releaseジョブ Android - Customジョブ Android - Developジョブ Android - Stagingジョブ Android - Releaseジョブ iOSビルドジョブ Androidビルドジョブ
  5. iOS/Androidの各環境ジョブのワークフロー作成 17 iOS - Customジョブ iOS - Developジョブ iOS -

    Stagingジョブ iOS - Releaseジョブ Android - Customジョブ Android - Developジョブ Android - Stagingジョブ Android - Releaseジョブ iOSビルドジョブ Androidビルドジョブ
  6. まとめ 31 コードベースでの管理や履歴の追跡 の困難化 属人化 保守性 の低下 プラグイン間のバージョン依存に よるアップデートの困難化 プラグインの代わりにActionを使用

    Actionは独立したスクリプトであ り、他のActionに依存することは少 ない 設定変更のレビューフローの不確立 コードはGithubで管理 YAMLからC#コード化可能 GitHub Actionsのワークフローは Pull Requestでレビューが可能