AWS Partner Network (APN) Blog
Accelerating iOS Builds with Bitrise CI/CD on Amazon EC2 Mac
![]() |
| Bitrise |
![]() |
By: Adam Nemeth, Sr. Solutions Architect – AWS
By: Daniel Zielinski, Sr Account Manager – AWS
By: Balazs Ilsinszki, Principal Product Manager – Bitrise
By: Arpad Kun, VP of Engineering and Infrastructure – Bitrise
As mobile applications have become the primary channel for customer engagement, they drive expectations for speed, simplicity, and security, making reliable and high-performing mobile experiences critical for organizations to remain competitive and maintain user trust.
To meet these demands, organizations are turning to secure, scalable cloud infrastructure while balancing rapid innovation with strict security and compliance standards, especially in financial services, healthcare and life sciences, and the public sector.
Improving mobile application delivery is not easy. Teams need Mac infrastructure and the latest Xcode to keep up with Apple’s updates, along with secure handling of signing keys and provisioning profiles required for iOS builds. Without this foundation, development pipelines slow down and become inconsistent. The impact is broad: security teams must manage signing keys and code credentials safely, DevOps teams struggle with maintaining up-to-date Mac build environments and Xcode versions, developers face delays from inconsistent build pipelines, and end users ultimately wait longer for app updates, bug fixes, challenges that Bitrise on AWS is designed to address.
Bitrise is a mobile DevOps solution that provides automation and security designed for mobile development. Running Bitrise on AWS combines DevOps workflows with Amazon Elastic Compute Cloud (Amazon EC2) Mac instances, giving teams dedicated Apple hardware in the cloud for building iOS applications. Together with services like AWS Device Farm, which runs automated tests on real devices, teams can gain an end-to-end environment for secure, fast, and reliable mobile application delivery.
Now, let’s examine Bitrise and demonstrate the CI/CD setup, also showing a mobile banking process built on AWS as an example.
What is Bitrise?
The Bitrise solution is designed for the full application development lifecycle — from building and testing to deployment and release. Bitrise automates repetitive mobile development tasks, reducing the need for teams to maintain their own build infrastructure.
Key functions include:
- Continuous Integration: automatically builds and tests applications on code change.
- Insights: tracks build performance and helps identify bottlenecks.
- Build Artifact Caching: reuses results from previous builds to shorten build times.
- Release Management: automates application publishing to application stores.
- Pipelines: runs complex build and test workflows efficiently.
- Automatic Code Signing: manages signing requirements without manual steps.
Bitrise provides a visual workflow editor (Bitrise Workflow Editor) that allows teams to combine functions into pipelines. Developers can define steps such as build, test, and release in an interface, making it straightforward to maintain consistent workflows across teams.
Figure 1: Bitrise Workflow Editor
What sets Bitrise apart is its mobile-specific focus. Generic CI/CD solutions often require extra setup for Xcode, signing keys, or app store delivery, while Bitrise includes these as built-in steps. This reduces manual configuration and helps make pipelines reliable.
When running on AWS with Amazon EC2 Mac instances, Bitrise workflows are executed on dedicated Apple hardware inside customer’s AWS account to keep code and secrets within the organization’s environment, while benefiting from AWS scalability and security.
Behind the scenes, the Bitrise Cloud Controller module provisions and manages Amazon EC2 Mac instances. It connects them securely to both internal services like GitLab, Amazon Simple Storage Service (S3) or Artifactory and external services such as GitHub or Slack. Build artifacts are stored in Amazon S3 with Amazon Virtual Private Cloud (VPC) endpoints for private connectivity.
Configuring an iOS CI/CD pipeline with Bitrise on AWS
Let’s now look at how to create a CI/CD workflow for a sample iOS mobile banking application using Bitrise.
Figure 2: Sample iOS mobile banking application
Figure 3: Bitrise CI/CD and serverless Application Backend
1. Environment setup
Before pipelines can be executed, build machines must be configured through Bitrise Cloud Controller, which is deployed into the customer’s AWS account using AWS CloudFormation. The Cloud Controller provisions and manages Amazon EC2 Mac instances used in the CI/CD pipeline.
The setup involves:
- Deploying Bitrise Cloud Controller into your AWS account using the provided AWS CloudFormation template.
- Creating machine pools that specify:
a. The Amazon Machine Image (AMI) with the required Xcode version.
b. The instance type and networking configuration (subnets, security groups).
c. IAM roles for permissions and storage (Amazon EBS volume type and size). - Completing a guided setup flow to finalize parameters such as disk prewarming and runtime configuration.
This screenshot illustrates the guided setup flow described above — showing how teams select a Bitrise-provided AMI, configure subnets, security groups, and IAM roles, and then choose the disk type, size, and prewarming options:
Figure 4: Step-by-Step Setup of Bitrise EC2 Mac Machine Pool
2. Build and workflow orchestration
Once the build machines are configured, developers can run the complete CI/CD pipeline. From then on, the process starts whenever Bitrise users push code to a supported source code repository, which triggers a workflow in Bitrise SaaS Control Plane. The control plane orchestrates the workflow by instructing the dedicated Amazon EC2 Mac instances within the customer’s AWS account to perform actual builds and tests. The Amazon EC2 Mac workers poll the Bitrise SaaS Control Plane for pending jobs and execute build steps once assigned. Bitrise provides support for GitHub, GitLab, Bitbucket, Azure DevOps, and other source code management systems — see the full list of Bitrise supported integrations.
During this process:
- Source code is pulled from repo and built on Amazon EC2 Mac instance.
- Build artifacts, and certificates are stored securely in Amazon S3 via Amazon VPC endpoint.
- Automated UI tests are run on AWS Device Farm, providing real-world device coverage.
- Bitrise connects securely to external services such as GitHub and Slack through supported APIs and integrations.
In addition, Amazon Bedrock, AWS’s managed GenAI service, is used over a VPC endpoint to add generative capabilities such as summarizing Pull Requests (PR) and assisting with issue resolution.
On the CI/CD side, two main components are deployed in your AWS account:
- Bitrise Cloud Controller – deployed on a t2.small instance via CloudFormation, to manage EC2 instances used for builds, including scaling and updates.
- Amazon EC2 Mac instances – run actual builds and tests for the application.
3. Deployment and validation
Once the application is built and tested, it is deployed to TestFlight for validation before release to end customers. Mobile users then consume the banking application, which connects to a fully serverless backend services deployed with AWS Cloud Development Kit (CDK) which include:
- Amazon API Gateway to provide secure API endpoints.
- AWS Lambda for business logic execution.
- Amazon DynamoDB for storing payment and user data.
- Amazon Cognito for authentication and user management.
- Amazon CloudWatch for logging, monitoring, and compliance tracking.
Through this setup, Bitrise on AWS enables a secure mobile banking solution that includes CI/CD pipelines, backend services required to power the application.
Shown below is Bitrise pipeline run for the sample banking application.
Figure 5: Bitrise Pipeline Run — Build, Test, and Deploy Workflow
Bitrise shows the AWS Device Farm test results in the Run details screen, providing visibility into test outcomes.
Conclusion
Bitrise CI/CD on AWS Amazon EC2 Mac instances provides a mobile-focused foundation for delivering iOS applications, while keeping infrastructure, secrets, and compliance under organizational control. This setup enables:
- Teams to deliver mobile applications reliably, securely, and in alignment with organizational and regulatory standards.
- Reduce risk by keeping code, credentials, and build artifacts under the Security team’s control.
- Benefit from the Bitrise Cloud Controller, pre-built macOS AMIs, disk prewarming for consistent performance, and dedicated Amazon EC2 Mac environments to simplify operations and improve build stability for DevOps teams.
- Mobile-optimized workflows, remote build caching for faster turnaround, and integrated real-device testing for developers.
- More frequent updates, with dependable performance and stronger security for End users.
These advantages are amplified by Bitrise’s remote build caching, which reuses build outputs instead of starting from scratch, which can reduce build times by 30–90%. In one internal benchmark, Bitrise observed that a large iOS application’s build time dropped by 60% (from 28 minutes to under 4 minutes)
To get started, start with the Bitrise on AWS datasheet and explore the click-through demo. For a practical example, review the Mobile Banking iOS demo on GitHub, which shows how a pipeline can be deployed in your AWS environment. You can also learn more about infrastructure from Amazon EC2 Mac documentation.
When ready, Bitrise is available in AWS Marketplace for you to launch pre-configured AMIs and begin running mobile CI/CD pipelines securely inside your AWS account.
.
Bitrise – AWS Partner Spotlight
Bitrise is an AWS Partner that provides a mobile DevOps platform purpose-built for continuous integration and delivery (CI/CD) of mobile applications. Running on AWS, Bitrise enables development teams to build, test, and release iOS and Android apps faster by automating workflows on secure, scalable infrastructure.







