Dynamically provision iOS build/test environments from GitLab CI on Anka Build macOS Cloud
Anka Build software is used to configure an AWS like macOS cloud on mac hardware. Once Anka Build setup is complete, DevOps can create multiple build/test images for their iOS CI, and dynamically provision container like instances on Anka Build macOS cloud from these images.
GitLab CI is a part of GitLab and is used by many dev teams as their platform of choice for CI. GitLab CI setup includes GitLab Runner and build cloud infrastructure to provision build containers or VMS.
Today, we are announcing the availability of GitLab CI Runner for Anka Build. This will enable teams who are using GitLab CI to execute their iOS CI pipelines on their Anka Build macOS cloud. Check out detailed setup instructions at https://github.com/veertuinc/gitlab-runner.
Setup and Architecture
Anka Build Controller – This is the management module of Anka Build cloud software.
Anka Build Registry – This is docker registry like registry module to store, manage and distribute Anka macOS images.
Anka Nodes – Mac hardware on which the Anka VMs are provisioned and build and test jobs execute
Anka GitLab CI Runner – Anka Build plugin which communicates with the GitLab CI APIs and Anka Build Controller.
Steps
- Setup Anka Build Cloud on your mac build and test hardware.
- Prepare you macOS build Anka image/VM template with project dependencies.
- Install git on it.
- Push the Anka image/VM template to the Anka registry.
- Setup and configure GitLab CI Anka Runner. We recommend that you run it on the same instance where Anka Build controller is running. You can set it up as a docker container or install it manually. GitLab CI Anka runner should be able to communicate with both your GitLab CI service/server and Anka Build controller.
- Run GitLab CI Anka Runner.
The setup is complete and your GitLab CI iOS pipeline should dynamically provision ephemeral Anka VMs on the Anka Build Cloud and execute builds.
Project CI Pipeline in GitLab CI
Anka GitLab Runner provisioning on-demand VM from an Image template on Anka Build macOS Cloud
GitLab CI Pipeline job executing inside Anka macOS VM
Job Completed and Anka macOS Vm is deleted