No description, website, or topics provided.
PowerShell
Switch branches/tags
Nothing to show
Clone or download

README.md

Jenkins Unity Build Pipeline

Team members:

  • Jennelle Crothers
  • Christine Matheney
  • Tobiah Zarlez

Problem

The process to build and distribute an app takes too much manual labor. Let’s automate it!

Solution

Automatically create new builds for a Unity app whenever code changes on GitHub. The final compiled builds for Android and Windows Phone will be sent to and distribute by HockeyApp.

Pipeline steps

Build Pipeline Drawing

Step 1: GitHub

Commit code to GitHub Repo https://github.com/TobiahZ/DumbGame

Step 2: Jenkins on Windows

Our Jenkins instance pulls the code changes from GitHub

Step 3: Unity on Jenkins

Jenkins then triggers Unity to use out build scripts to make an Android and Windows Phone build of our project.

Step 4A: Upload Android Build to HockeyApp

The Android apk built in step 3 is uploaded to HockeyApp

Step 4B: Build and Upload Windows Phone app to HockeyApp

Substep 1: Upload WP build to VSTS

We trigger the following script to take the output of the WSA Unity build and upload it to a different git repo hosted on VSTS.

cd ../
mkdir tmp
cd tmp
git clone <VSTS URL> repo
cd repo
git rm -r .
cp -R ../../<Name of folder on server>/Builds/WSA/* ./
git add . -f
git commit -m "New version!"
git push

Substep 2: VSTS Build

VSTS will then build the new Visual Studio project updated by the previous git commit

Substep 3: Upload to HockeyApp

The appxupload file created in substep 2 is then uploaded to HockeyApp

Step 5: Distribute to users

HockeyApp then distributes the appropiate app file to our users/testers. Basically, each time a build is successful, an updated version of the app appears for them to download in hockey app.

Recreation process