Transitioning from App Center to Bitrise: A Comprehensive Guide
Tags: devops, mobile, developer, microsoft
Published: 2024-03-26 18:01:11

## Introduction
With the fast-paced demands of mobile application development, the tools and services developers and organizations rely on significantly impact your workflow, efficiency, and code quality. With Microsoft retiring its [Visual Studio App Center](https://learn.microsoft.com/en-au/appcenter/retirement?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), many developers are looking for robust, reliable alternatives that match and exceed the functionality previously offered. Enter Bitrise, the [Mobile DevOps](https://bitrise.io/blog/post/what-is-devops-or-mobile-devops?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) solution that stands out as a compelling choice for those ready to make the switch. This guide dives into why Bitrise is not just a replacement for Visual Studio App Center, but a comprehensive upgrade for your mobile app development needs.

**Migrate today if you’re already a Bitrise user and benefit from our [OTA](https://devcenter.bitrise.io/en/deploying/bitrise-ota-app-deployment.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) and [Release Management features](https://devcenter.bitrise.io/en/release-management/getting-started-with-release-management.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center). [Sign up](https://app.bitrise.io/users/sign_up?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) and get started.**

## Why migrate to Bitrise?

App Center was a good solution for developers due to its analytics and deployment capabilities. Transitioning to Bitrise, developers gain access to similar functionalities, such as [Release Management](https://devcenter.bitrise.io/en/release-management/getting-started-with-release-management.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), [Bitrise Insights](https://devcenter.bitrise.io/en/insights.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), alongside a public install page, amongst other things. Moreover, Bitrise offers a user-friendly interface, extensive iOS and Android app development support, over 400 ready-to-use build tasks, and a mobile-focused toolset designed specifically for mobile app development challenges. Here, we'll highlight our OTA and Release Management features, which are particularly relevant for those considering migration from Visual Studio App Center.

_‍View upcoming features on [our Public Roadmap](https://bitrise.io/roadmap?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), including a [centralized artifact page](https://roadmap.bitrise.io/c/131-a-centralized-page-for-installable-artifacts-of-a-bitrise-app?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) and [automated distribution to TestFlight testing groups and Google Play Console testing tracks](https://roadmap.bitrise.io/c/165-automate-beta-distribution-to-testflight-testing-groups-and-google-play-console-testing-tracks?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)._

> “Visual Studio App Center is scheduled for retirement on March 31, 2025. After that date it will not be possible to sign in with your user account nor make API calls. App Center will continue to be supported until March 31, 2025, with critical bug fixes and technical support.” - Visual Studio App Center [retirement announcement](https://learn.microsoft.com/en-us/appcenter/retirement?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center).

**OTA App Deployment with Bitrise**

Bitrise offers an integrated app deployment system tailored for Over-The-Air (OTA) distribution, allowing teams and stakeholders to easily access builds without needing a Bitrise account. This helps to efficiently archive and distribute apps and build artifacts, enhancing your DevOps processes. Some key features include: 

- **Simplified distribution:** Distribute your app OTA to team members or stakeholders effortlessly. Share the testable application with your testers and groups through the Bitrise Public Install page.
- **[Platform-specific Steps:](https://bitrise.io/integrations/steps?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)** Bitrise supports various platforms, including iOS, Android, React Native, Ionic, Cordova, and MacOS, each with designated build and deploy steps to Bitrise.io for apps, logs, and artifacts.
- **[Automatically register iOS Test Devices:](https://devcenter.bitrise.io/en/api/managing-ios-code-signing-files.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)** Automatically register test devices with the Apple Portal and update provisioning profiles to include new devices, saving developers valuable time and hassle. 
- **[A centralized page for installable artifacts of a Bitrise app (coming soon):](https://roadmap.bitrise.io/c/131-a-centralized-page-for-installable-artifacts-of-a-bitrise-app?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)** We're introducing a centralized location for all your downloadable files, including iOS IPA and Android APK/AAB, helping you to eliminate sifting through multiple CI builds. Our new feature will simplify the process, allowing you to effortlessly locate and install the exact version of your Bitrise app you need, all from one convenient spot. 

**Release Management**

If you’re a Bitrise user, and are using App Center only for distribution, you can use our [Deploy to Bitrise.io](https://www.bitrise.io/integrations/steps/deploy-to-bitrise-io?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) Step to easily (smoothly 🙂) enable the [public install page](https://devcenter.bitrise.io/en/deploying/bitrise-ota-app-deployment.html#the-public-install-page?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) for your App. What's more, you can **test drive [Release Management](https://devcenter.bitrise.io/en/release-management.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) for free.** Release Management helps fast-track deployment by doing away with the complicated, chaotic, and disparate tool stacks of mobile app releases. Here are some of its benefits and capabilities.

**Benefits of Release Management**

- **One centralized app for release processes: **Release Management cuts through the complexity of tool management, simplifying your workflow and reducing human error.
- **Eliminate store confusion:** A simple, user-friendly UI, makes the release process manageable and easy to navigate.
- **Free up dev time and boost productivity:** Automating repetitive tasks results in faster app deployment and quicker time-to-market.
- **Crystal clear release ops:** Teams get full visibility into their release operations as the app progresses to production. In addition, timely release information means everyone sees the right information at the right time.


![Screenshot of Release Management’s configuration page, illustrating its user-friendly UI.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ieqjgk9yrwlpsuj1juvj.png)

**Capabilities of Release Management**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wsxkbc81gg0w7dppw5jn.png)

## Step-by-Step migration guide

_The following guide is specific to non-Bitrise CI users._ As mentioned above, Bitrise users can use our [Deploy to Bitrise.io](https://www.bitrise.io/integrations/steps/deploy-to-bitrise-io?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) Step to enable the public install page for your app, alongside Release Management for deployments.

_If you prefer a granular [migration guide, please refer to Bitrise DOCS](https://devcenter.bitrise.io/en/getting-started.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)._

**1. Setting up your Bitrise account**

**Sign up**
Begin by signing up through [email](https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-email?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), [GitHub](https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), [GitLab,](https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) or [Bitbucket.](https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) This allows you to grant Bitrise access to your repositories. 

**Setting up your workspace**
Post-signup, Bitrise automatically creates your first Workspace—a hub for managing apps and team members. You can have [multiple Workspaces](https://devcenter.bitrise.io/en/workspaces/creating-workspaces.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) and invite your team to [join your workspace](https://devcenter.bitrise.io/document/preview/42198#UUID-7a68f566-8e93-124c-439b-3f5c996d5fa7?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), given they have a Bitrise account.

{% embed https://youtu.be/DlsE5H_RXnI %}

**Adding your app**
Adding an app connects a Git repository to Bitrise for cloning and building. This can be done via the web UI, where you'll define the app's privacy, repository source, and the branch to build. Bitrise scans your repository to auto-configure app settings, but manual setup is available if needed.

![Adding a new app via the web UI.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wn8qmvb20s0mozmw51zb.png)

**Utilizing webhooks and triggers**

Webhooks enable automatic build triggers upon code changes, while Git Insights offers collaboration metrics. You can define specific events and branches to initiate builds, enhancing automation. Read more on: 

- [Adding incoming webhooks](https://devcenter.bitrise.io/en/connectivity/webhooks/adding-incoming-webhooks.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Adding outgoing webhooks](https://devcenter.bitrise.io/en/connectivity/webhooks/adding-outgoing-webhooks.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Triggering builds automatically](https://devcenter.bitrise.io/en/builds/starting-builds/triggering-builds-automatically.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)

![Screenshot of the Bitrise UI utilizing webhooks and adding triggers.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8ojlznta5rlkytsiht6.png)

Managing builds and workflows
Your first build starts automatically upon adding an app. Workflows, composed of [Steps](https://bitrise.io/integrations?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) (script execution blocks), define the build process. Customize [workflows](https://github.com/bitrise-io/workflow-recipes?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) using the Workflow Editor for tasks like cloning your repo, building your app, [running tests](https://devcenter.bitrise.io/en/testing.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), [notifying developers](https://devcenter.bitrise.io/en/builds/configuring-build-settings/configuring-email-notifications.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center), and more. Bitrise also offers [Workflow recipes](https://github.com/bitrise-io/workflow-recipes?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) for common scenarios across different platforms. Read more:

- [Workflows](https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-workflows.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Steps](https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-steps.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Builds](https://devcenter.bitrise.io/en/builds.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gnresacjjbouozjaxytb.png)

**[Download](https://yo.bitrise.io/bitrise-workflow-recipes-download.html?utm_source=twitter&utm_medium=social&utm_campaign=masters-of-efficiency-guide&utm_content=android-dev-notes?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) our Masters of Efficiency cookbook: 50+ Workflow Recipes for peak performance.**

**Testing and deployment**

Bitrise supports various testing methods, including [unit and UI testing](https://devcenter.bitrise.io/en/testing.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) on real devices. After testing and building, deploy your app to stores like Google Play or the App Store, or use [Release Management](https://devcenter.bitrise.io/en/release-management.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) for a streamlined deployment process. Read more: 

- [Device testing for Android](https://devcenter.bitrise.io/en/testing/device-testing-with-firebase/device-testing-for-android.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Device testing for iOS](https://devcenter.bitrise.io/en/testing/device-testing-with-firebase/device-testing-for-ios.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Running Android unit tests](https://devcenter.bitrise.io/en/testing/testing-android-apps/android-unit-tests.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Running unit and UI tests for iOS apps](https://devcenter.bitrise.io/en/testing/testing-ios-apps/running-xcode-tests.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)

**2. Connecting to your code repositories**

Connecting your GitHub, GitLab, or Bitbucket account with Bitrise enables seamless integration, granting Bitrise access to your repositories. This integration facilitates listing available repositories for new app additions, automating webhook registration for build triggers and Git Insights, and setting up SSH keys automatically. You can link accounts from all three Git providers to your Bitrise account either during the new app addition process or via your Profile settings. Note that Bitrise supports connecting one account per Git provider, but changing linked accounts is possible anytime. [This guide](https://devcenter.bitrise.io/en/connectivity/connecting-to-services/connecting-your-github-gitlab-bitbucket-account-to-bitrise.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) covers both methods of connecting a Git provider account to Bitrise and outlines necessary disconnecting steps if needed.

**3. Configuring your CI/CD Pipelines**

Configuring a Bitrise Pipeline is currently achieved by editing the bitrise.yml file directly. While Workflows can be created and modified through the graphical Workflow Editor, Pipelines and Stages* need to be defined in YAML format. For detailed guidance with examples of configuration, refer to our [Bitrise DOCS](https://devcenter.bitrise.io/en/steps-and-workflows/build-pipelines/configuring-a-bitrise-pipeline.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center). 

_*Stage: Stages are the top-level building blocks of Pipelines in Bitrise._

**Key configuration steps**

- **Defining Pipelines, Steps, and Workflows:** The `bitrise.yml` file is where you define the entire configuration of your Pipelines, including Steps (individual tasks) and Workflows (collections of Steps).
- **Configuring Pipeline triggers: **Set up triggers in the `bitrise.yml` file to automate build processes based on specific code events like pushes or pull requests. This can also be managed via the Workflow Editor's Triggers tab.

![Screenshot of the successful configuration of Pipeline trigger.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgdcmlhfu51fn9nqc23e.png)

- **Stage configuration:** You can configure Stages to always run, regardless of previous failures, by setting **`should_always_run`** to true. Alternatively, **`set abort_on_fail`** to true to stop all Workflows in a Stage if any fail.
- **Using artifacts across stages:** Leverage the [Deploy to Bitrise.io - Apps, Logs, Artifacts Step](https://www.bitrise.io/integrations/steps/deploy-to-bitrise-io?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) to share files between Stages, ensuring subsequent Workflows have access to necessary build artifacts.
- **Sharing environment variables:** Utilize the Share Pipeline variables Step to reuse environment variables across Stages, enabling seamless transitions between different phases of the Pipeline.

**Optimizing workflows for better performance**

Optimizing workflows can lead to significant time savings, especially for teams frequently running workflows. Antoine van der Lee, Lead iOS Engineer at WeTransfer, shared the following insights on making your Bitrise workflows more efficient. _[Read his full take.](https://bitrise.io/blog/post/optimizing-your-workflows?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_

- **Run the minimum necessary:** Only execute steps that are essential for the specific workflow to reduce execution time. View our [Enabling or disabling a Step conditionally](https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-steps/enabling-or-disabling-a-step-conditionally.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) page. 
- **Enable rolling builds:** Turn on rolling builds to cancel outdated builds automatically when a new commit is pushed. This approach ensures only the latest commit is built, saving time and resources.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ko66f1kmcukkvom21am3.png)

- **Leverage caching:** Utilize caching to speed up workflows by avoiding redundant dependency installations. In some cases, using the default caching provided by Bitrise will yield the best results. View [Bitrise DOCS](https://devcenter.bitrise.io/en/dependencies-and-caching?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) for a full breakdown. 
- **Caching for pull requests (PRs):** By default, caching doesn't work for PR builds in Bitrise. Adjusting the cache-push step to run unconditionally allows caching for PRs, speeding up these builds significantly.
- **Selective test execution:** Run tests only for changed files to avoid unnecessary execution. WeTransfer implemented checks in their Fastlane setup to test only frameworks that had changes in a PR, considerably reducing build times.

## **Bitrise vs. the competition: Being mobile-first**

Building for mobile apps poses distinct challenges, differing from web development. Developers must address fragmentation (device diversity), performance optimization within resource-constrained mobile environments, platform-specific features and APIs, UI design, app distribution, and lifecycle management—to name a few—to create top-notch, efficient apps. Here’s how Bitrise’s mobile-focus approach sets us apart. 

- **Optimized build environments:** Bitrise provides pre-configured, mobile-specific build environments and tools that drastically reduce setup times. This means developers can get their mobile projects up and running faster, with less configuration hassle. _[See mobile-app-developer-first focus, automated code signing, Step library](https://bitrise.io/solutions/use-cases/mobile-devops?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_.
- **Advanced testing frameworks:** With a suite of testing tools designed for mobile apps, including real device testing and UI testing, Bitrise ensures your app works flawlessly across all devices and operating systems. _[See Mobile-specific testing, Unit, UI, and Snapshot testing, Bitrise Insights.](https://bitrise.io/platform/devops/mobile-test-reporting?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_
-** Frequent deployment:** Bitrise automates the deployment process and increases deployment frequency to app stores and internal testing platforms, simplifying the release cycle and helping teams deliver updates more rapidly. _[See Release Management, remote build caching, dependency caching.](https://bitrise.io/platform/devops/release-management?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_
- **Infrastructure and automation:** Bitrise significantly boosts build and deployment speeds, enabling teams to iterate and test more rapidly, accelerating time to market. With Xcode versions/betas available within 24 hours post-release, Bitrise ensures developers are always equipped with the latest technology for your builds. _[See Bitrise Stacks, Build Pipelines, Step library, M1, trigger builds on PRs.](https://devcenter.bitrise.io/en/steps-and-workflows/build-pipelines.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_
- **Community and support: **Bitrise has a vibrant community of mobile developers and dedicated support for mobile projects. This community-driven approach leads to quick problem-solving and sharing of best practices. _[See DOCS, Bitrise Discussions, Bitrise Slack, Support Center. ](https://discuss.bitrise.io/?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)_

## **Conclusion**

The shift from Visual Studio App Center to Bitrise represents a significant upgrade in your mobile app development process. With Bitrise, developers gain access to a more comprehensive, mobile-first DevOps environment designed to enhance workflow efficiency, improve code quality, and facilitate a smoother release management process. Visual Studio App Center users will specifically benefit from OTA app deployment and Release Management. 

Migrate today if you’re already a Bitrise user. Not a user yet? [Sign up](https://app.bitrise.io/users/sign_up?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center) and get started. 

## **Additional resources**

- [Bitrise DOCS](https://devcenter.bitrise.io/?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Release Management](https://devcenter.bitrise.io/en/release-management.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [OTA](https://devcenter.bitrise.io/en/deploying/bitrise-ota-app-deployment.html?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)
- [Customer support](https://support.bitrise.io/hc/en-us?utm_source=devto&utm_medium=social&utm_campaign=-blogs-2024&utm_content=app-center)