• Career ◦ SET(Software Engineer in Test) at C2C marketplace app company ◦ DevOps Engineer at AI startup company tadashi0713 tadashi-nemoto tadashi0713.dev
their frequent updates and large user bases, requires the use of good CI/CD (Continuous Integration / Continuous Delivery) tools and practices. However, the unique and complex requirements of building, testing, and deploying mobile games make configuring mobile CI/CD from scratch a daunting task. This session provides an easy-to-follow introduction to creating a scalable and cloud-native mobile game CI/CD environment using CircleCI, GameCI, and Unity. This approach will provide you with the following benefits and ultimately enable you to continuously deliver high-quality mobile games by: • Increasing developer productivity and reducing maintenance overheads with scalable, on-demand, pre-configured build environments in the cloud, including M1 Mac. • Reducing maintenance overheads by eliminating the need for complex custom build scripts
Game Development • Unity Mobile Game CI/CD Pipeline using GameCI, fastlane, and CircleCI(Overview) • How to create CI/CD pipeline step by step • Summary
rate is important for success • Continuous quality improvements for various devices Important to provide and improve features quickly and continuously CI/CD(Continuous Integration/Continuous Delivery) is essential Key points to make your mobile games successful
(especially Mac for iOS builds) ◦ Requires machines with high specs ◦ Provision and maintain Mac hardware ▪ Buy your own, or use cloud providers with limitations ◦ Regularly updating macOS and Xcode • Difficulties setting up CI/CD pipelines ◦ Installing Unity Editor ◦ Activating Unity License ◦ Preparing build scripts(build & distribute for each platform)
or 制限のあるクラウド ◦ macOS・Xcodeの定期的なアップデート • CI/CDパイプラインのセットアップの難易度 ◦ Unity Editor のインストール ◦ ライセンスのアクティベート ◦ スクリプト(各プラットフォームへのビルド・配信)の準備 • CI/CD is not yet implemented ◦ Builds and tests are run on local machines • Managing on-prem environments(e.g. Jenkins) ◦ High maintenance costs ◦ Unable to scale development ◦ Low developer productivity ▪ Slow build speed, Unstable build, Poor debugging experience ◦ Unsuitable for remote development
setup and maintenance for Unity project is challenging ◦ Installing Unity Editor ◦ Activating Unity License ◦ Build settings per platform • GameCI makes it easy to implement these • Supports CircleCI, GitHub Actions, and GitLab CI
https://fastlane.tools/ • Help automate tasks specific to mobile app development • Supports running tests, taking screenshots, iOS code signing(fastlane match), builds, distributing debug/beta versions, and releasing apps on the App Store/Play Store • Mainly used for mobile app development(iOS/Android/React Native/Flutter), but can also be used for mobile game development
Mac environment • CircleCI provides Apple Silicon Mac(M1 Mac) from 2023 Up to 2x faster build speed than Intel Mac • Not guaranteed in SLA, but we aim to support a new Xcode within a couple of days. ◦ https://circleci.com/docs/xcode-policy/ Powerful resource classes for mobile CI/CD(Mac) Intel Mac M1(Apple Silicon) Mac
Mac environment • CircleCI provides Apple Silicon Mac(M1 Mac) from 2023 Up to 2x faster build speed than Intel Mac • Not guaranteed in SLA, but we aim to support a new Xcode within a couple of days. ◦ https://circleci.com/docs/xcode-policy/ Powerful resource classes for mobile CI/CD(Mac) Intel Mac M1(Apple Silicon) Mac • Various build environments for game development • No maintenance required(especially for Macs) • Automatically scales as needed • Charged based on build time and the resource class of the build (Time not spent executing builds is not subject to billing)
just generated an Xcode project from a Unity project • You can generate a binary for an iOS application (.ipa) by building this Xcode project in a macOS environment in which Xcode is installed Xcode Build
mobile games with high release frequency • CI/CD in mobile games tends to be a challenge in terms of build machines to run(especially Mac) and difficulty of setup • Unity mobile game CI/CD pipeline using GameCI/fastlane/CircleCI ◦ GameCI makes it easy to activate Unity licenses, and build for iOS/Android platform ◦ Fastlane makes it easy to set up code signing (fastlane match), and distribution(Firebase, App Store, Play Store) ◦ CircleCI provides maintenance-free and on-demand build machines required for mobile game CI/CD, including Mac