Jenkins Build Server Solution Documentation
Components to Solution
Jenkins Web App
Hosted on a Dedicated Intel Mac host, it coordinates all build jobs and interactions.
Project Inheritance Plugin
Base iOS and Base Android jobs, other jobs inherit
Security Matrix
Lets us set fine-grained permissions for users and projects
Build Agents
Four Intel Mac Dedicated Hosts to perform builds and upload games to the App/Play Store
Configured to fetch a Pro Unity License from our Unity License server before executing each build.
Unity License Server
Hosted on an EC2 instance with an Elastic IP, this instance runs the Unity License Server executable that can be downloaded from the Unity Dashboard for our organization. Every year on May 31, we must download a new license file from the Unity Dashboard and import it into the License Server following their instructions.
Slack trigger
Lambda Function (jenkins-build-trigger-api-handler)
Receives initial request from Slack to list all projects that the Slack user has access to.
Receives request to initiate a build based on parameters from Slack user request
DynamoDB
jenkins-build-trigger-users
Contains list of Slack Members (and their slack IDs) and which Jenkins projects they should be allowed to build
jenkins-build-trigger-projects
Contains list of Jenkins projects and info about them for each platform (Android/iOS)
Supplemental documentation
Administration of Jenkins Slack Trigger
Last updated