Cloud Build
Introduction
Lion Build Tools package reduces the time spent waiting for builds to complete on local workstations and helps ensure consistency across builds and by different developers. Our Cloud Build solutions will build your Unity game project for you while you can keep working.
This module offers the following features:
- Trigger a build for iOS and Android from your Slack channel; see Jenkins Build-A-Bot SlackApp
- Push builds directly to TestFlight, GooglePlay Internal Testing, and GoogleDrive
- The Adapter Stabilizer verifies Ad Adapters are up-to-date; see: Adapter Stabiliser
Unity Integration
Prerequisites:
- Supported Unity versions. (For other Unity versions, please contact Support)
- 2021.3.25f1
- 2021.3.33f1
- 2022.3.19f1
- 2022.3.29f1
- Your Unity project needs to be hosted in Lion’s GitHub organization.
- Your project must be using the default Gradle version associated with your Unity version (defined in the Version Compatibility List here). If you haven’t manually installed a gradle version, nothing to be worried about.
💡 |
To trigger builds from Slack, you will also need to install our Jenkins Build-A-Bot SlackApp |
Initial Setup
-
Our build servers will pull your Unity project directly from a specific git revision in GitHub. Ensure you have committed and pushed your changes to GitHub, as our servers won’t see local changes on your workstation. This also gives you a commit you can revert to in case of issues.
-
If the project’s
keystore
is not already present in the repo, add it (for example, in theroot
folder or a/keystore
subfolder) -
Create the folder named
ProvisioningProfiles
in the unity project root directory. Put your.mobileprovision
files directly into theProvisioningProfiles
folder.
Configuring BuildTools
-
In the Project view, navigate to
Assets/LionStudios/AutomatedBuilder/Editor
-
Fill up any relevant setting of
ScriptableObjects
:- Common Settings
Dev Additional Def Symbol
: Define the symbol which will be added when Jenkins makes a debug build. Change this if you use a different symbol to separate your debug build code with#if define
.Scripts Folder
: Change this if your code is in a different folder. This is only used to reimport the code, so any folder with at least one script will work.
- iOS Settings
Target Name
: Your project’s target name in XCode. If you are not sure about it, do not change it.Organization
: The organization in which the app is published, eitherLion Studios
,Lion Studios Plus
orHippotap
Provisioning Profile Name
: The provisioning profile fileName without the.mobileprovision
extension.Additional Define Symbols
: If your project requires more define symbols in iOS buildsCapabilities
: Select the capabilities your project needs- If your game uses OneSignal:
- Enable the
Remote Notifications
capability - Enable the
Using One Signal
setting - Fill in
OneSignal Provisional Profile Name:
Provisioning Profile fileName without the.mobileprovision
extension.
- Enable the
- Android Settings
Keystore Path
: The path to your project’skeystore
fileKeystore Password
: The password of thekeystore
Keystore Alias
: The alias to use in thekeystore
Keystore Alias Password
: The password for that aliasAdditional Define Symbols
: If your project requires additional define symbols in Android builds
🚨
FakeCMDargs
Settings is not relevant. This will be deprecated. - Common Settings
-
Do a single local build to generate
buildTools/exportOptions.plist.
🚨
Make sure that the Provisioning Profiles have already been put into the provisioning profile
folder, without that,exportOptions.plist
file will not get generated automatically. -
Commit and push the following to your GitHub repository:
Packages/manifest.json
- Your
keystore
file buildTools/exportOptions.plist
- The contents of the
LionStudios/AutomatedBuilding/Editor
folder
-
If you haven’t already, install our Jenkins Build-A-Bot.
-
Trigger Jenkins builds through Slack until all build issues are resolved and a successful build is available.
- Instructions for triggering Slack builds: SlackApp: Jenkins Build-A-Bot
💡
If a job fails, you should see a failure message with a link to the failed job in your Slack channel. Please click on the
Open
button and click on theConsole Output
to display the build logs.👉
For more information on common build problems, see Common Jenkins Build Issues. If you need additional help with Jenkins build issues, please contact Support.