<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bitrise</title>
    <description>The latest articles on DEV Community by Bitrise (@bitrise).</description>
    <link>https://dev.to/bitrise</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F108530%2Fa8d5fdc8-1943-4ae3-a39c-edef24f6485d.jpeg</url>
      <title>DEV Community: Bitrise</title>
      <link>https://dev.to/bitrise</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bitrise"/>
    <language>en</language>
    <item>
      <title>Transitioning from App Center to Bitrise: A Comprehensive Guide</title>
      <dc:creator>Bitrise</dc:creator>
      <pubDate>Tue, 26 Mar 2024 18:01:11 +0000</pubDate>
      <link>https://dev.to/bitrise/transitioning-from-app-center-to-bitrise-a-comprehensive-guide-12o6</link>
      <guid>https://dev.to/bitrise/transitioning-from-app-center-to-bitrise-a-comprehensive-guide-12o6</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;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 &lt;a href="https://learn.microsoft.com/en-au/appcenter/retirement?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Visual Studio App Center&lt;/a&gt;, many developers are looking for robust, reliable alternatives that match and exceed the functionality previously offered. Enter Bitrise, the &lt;a href="https://bitrise.io/blog/post/what-is-devops-or-mobile-devops?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Mobile DevOps&lt;/a&gt; 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.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Why migrate to Bitrise?
&lt;/h2&gt;

&lt;p&gt;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 &lt;a href="https://devcenter.bitrise.io/en/release-management/getting-started-with-release-management.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Release Management&lt;/a&gt;, &lt;a href="https://devcenter.bitrise.io/en/insights.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Bitrise Insights&lt;/a&gt;, 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.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;“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 &lt;a href="https://learn.microsoft.com/en-us/appcenter/retirement?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;retirement announcement&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;OTA App Deployment with Bitrise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simplified distribution:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://bitrise.io/integrations/steps?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Platform-specific Steps:&lt;/a&gt;&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://devcenter.bitrise.io/en/api/managing-ios-code-signing-files.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Automatically register iOS Test Devices:&lt;/a&gt;&lt;/strong&gt; Automatically register test devices with the Apple Portal and update provisioning profiles to include new devices, saving developers valuable time and hassle. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://roadmap.bitrise.io/c/131-a-centralized-page-for-installable-artifacts-of-a-bitrise-app?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;A centralized page for installable artifacts of a Bitrise app (coming soon):&lt;/a&gt;&lt;/strong&gt; 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. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Release Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’re a Bitrise user, and are using App Center only for distribution, you can use our &lt;a href="https://www.bitrise.io/integrations/steps/deploy-to-bitrise-io?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Deploy to Bitrise.io&lt;/a&gt; Step to easily (smoothly 🙂) enable the &lt;a href="https://devcenter.bitrise.io/en/deploying/bitrise-ota-app-deployment.html#the-public-install-page?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;public install page&lt;/a&gt; for your App. What's more, you can &lt;strong&gt;test drive &lt;a href="https://devcenter.bitrise.io/en/release-management.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Release Management&lt;/a&gt; for free.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Release Management&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;**One centralized app for release processes: **Release Management cuts through the complexity of tool management, simplifying your workflow and reducing human error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eliminate store confusion:&lt;/strong&gt; A simple, user-friendly UI, makes the release process manageable and easy to navigate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free up dev time and boost productivity:&lt;/strong&gt; Automating repetitive tasks results in faster app deployment and quicker time-to-market.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crystal clear release ops:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieqjgk9yrwlpsuj1juvj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieqjgk9yrwlpsuj1juvj.png" alt="Screenshot of Release Management’s configuration page, illustrating its user-friendly UI." width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capabilities of Release Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsxkbc81gg0w7dppw5jn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsxkbc81gg0w7dppw5jn.png" alt="Image description" width="800" height="892"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step migration guide
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;The following guide is specific to non-Bitrise CI users.&lt;/em&gt; As mentioned above, Bitrise users can use our &lt;a href="https://www.bitrise.io/integrations/steps/deploy-to-bitrise-io?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Deploy to Bitrise.io&lt;/a&gt; Step to enable the public install page for your app, alongside Release Management for deployments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you prefer a granular &lt;a href="https://devcenter.bitrise.io/en/getting-started.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;migration guide, please refer to Bitrise DOCS&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Setting up your Bitrise account&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sign up&lt;/strong&gt;&lt;br&gt;
Begin by signing up through &lt;a href="https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-email?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;email&lt;/a&gt;, &lt;a href="https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;GitHub&lt;/a&gt;, &lt;a href="https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;GitLab,&lt;/a&gt; or &lt;a href="https://devcenter.bitrise.io/en/getting-started/signing-up-for-bitrise.html#signing-up-with-a-git-provider?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Bitbucket.&lt;/a&gt; This allows you to grant Bitrise access to your repositories. &lt;/p&gt;

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

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/DlsE5H_RXnI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding your app&lt;/strong&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwn8qmvb20s0mozmw51zb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwn8qmvb20s0mozmw51zb.png" alt="Adding a new app via the web UI." width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilizing webhooks and triggers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/connectivity/webhooks/adding-incoming-webhooks.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Adding incoming webhooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/connectivity/webhooks/adding-outgoing-webhooks.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Adding outgoing webhooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/builds/starting-builds/triggering-builds-automatically.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Triggering builds automatically&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8ojlznta5rlkytsiht6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8ojlznta5rlkytsiht6.png" alt="Screenshot of the Bitrise UI utilizing webhooks and adding triggers." width="800" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-workflows.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Workflows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-steps.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/builds.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Builds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnresacjjbouozjaxytb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnresacjjbouozjaxytb.png" alt="Image description" width="800" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://yo.bitrise.io/bitrise-workflow-recipes-download.html?utm_source=twitter&amp;amp;utm_medium=social&amp;amp;utm_campaign=masters-of-efficiency-guide&amp;amp;utm_content=android-dev-notes?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Download&lt;/a&gt; our Masters of Efficiency cookbook: 50+ Workflow Recipes for peak performance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing and deployment&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/testing/device-testing-with-firebase/device-testing-for-android.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Device testing for Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/testing/device-testing-with-firebase/device-testing-for-ios.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Device testing for iOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/testing/testing-android-apps/android-unit-tests.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Running Android unit tests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/testing/testing-ios-apps/running-xcode-tests.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Running unit and UI tests for iOS apps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Connecting to your code repositories&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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. &lt;a href="https://devcenter.bitrise.io/en/connectivity/connecting-to-services/connecting-your-github-gitlab-bitbucket-account-to-bitrise.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;This guide&lt;/a&gt; covers both methods of connecting a Git provider account to Bitrise and outlines necessary disconnecting steps if needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Configuring your CI/CD Pipelines&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="https://devcenter.bitrise.io/en/steps-and-workflows/build-pipelines/configuring-a-bitrise-pipeline.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Bitrise DOCS&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;*Stage: Stages are the top-level building blocks of Pipelines in Bitrise.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key configuration steps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Defining Pipelines, Steps, and Workflows:&lt;/strong&gt; The &lt;code&gt;bitrise.yml&lt;/code&gt; file is where you define the entire configuration of your Pipelines, including Steps (individual tasks) and Workflows (collections of Steps).&lt;/li&gt;
&lt;li&gt;**Configuring Pipeline triggers: **Set up triggers in the &lt;code&gt;bitrise.yml&lt;/code&gt; 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.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgdcmlhfu51fn9nqc23e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgdcmlhfu51fn9nqc23e.png" alt="Screenshot of the successful configuration of Pipeline trigger." width="800" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Optimizing workflows for better performance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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. &lt;em&gt;&lt;a href="https://bitrise.io/blog/post/optimizing-your-workflows?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Read his full take.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Run the minimum necessary:&lt;/strong&gt; Only execute steps that are essential for the specific workflow to reduce execution time. View our &lt;a href="https://devcenter.bitrise.io/en/steps-and-workflows/introduction-to-steps/enabling-or-disabling-a-step-conditionally.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Enabling or disabling a Step conditionally&lt;/a&gt; page. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enable rolling builds:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko66f1kmcukkvom21am3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko66f1kmcukkvom21am3.png" alt="Image description" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Leverage caching:&lt;/strong&gt; 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 &lt;a href="https://devcenter.bitrise.io/en/dependencies-and-caching?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Bitrise DOCS&lt;/a&gt; for a full breakdown. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching for pull requests (PRs):&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Selective test execution:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Bitrise vs. the competition: Being mobile-first&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Optimized build environments:&lt;/strong&gt; 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. &lt;em&gt;&lt;a href="https://bitrise.io/solutions/use-cases/mobile-devops?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;See mobile-app-developer-first focus, automated code signing, Step library&lt;/a&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced testing frameworks:&lt;/strong&gt; 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. &lt;em&gt;&lt;a href="https://bitrise.io/platform/devops/mobile-test-reporting?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;See Mobile-specific testing, Unit, UI, and Snapshot testing, Bitrise Insights.&lt;/a&gt;&lt;/em&gt;
-** 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. &lt;em&gt;&lt;a href="https://bitrise.io/platform/devops/release-management?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;See Release Management, remote build caching, dependency caching.&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure and automation:&lt;/strong&gt; 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. &lt;em&gt;&lt;a href="https://devcenter.bitrise.io/en/steps-and-workflows/build-pipelines.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;See Bitrise Stacks, Build Pipelines, Step library, M1, trigger builds on PRs.&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;**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. &lt;em&gt;&lt;a href="https://discuss.bitrise.io/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;See DOCS, Bitrise Discussions, Bitrise Slack, Support Center. &lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;p&gt;Migrate today if you’re already a Bitrise user. Not a user yet? &lt;a href="https://app.bitrise.io/users/sign_up?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Sign up&lt;/a&gt; and get started. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Additional resources&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Bitrise DOCS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/release-management.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Release Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcenter.bitrise.io/en/deploying/bitrise-ota-app-deployment.html?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;OTA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.bitrise.io/hc/en-us?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=-blogs-2024&amp;amp;utm_content=app-center"&gt;Customer support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>mobile</category>
      <category>developer</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>State of App Development in 2021: Insights from Bitrise</title>
      <dc:creator>Bitrise</dc:creator>
      <pubDate>Mon, 31 Jan 2022 13:28:11 +0000</pubDate>
      <link>https://dev.to/bitrise/state-of-app-development-in-2021-insights-from-bitrise-3bg5</link>
      <guid>https://dev.to/bitrise/state-of-app-development-in-2021-insights-from-bitrise-3bg5</guid>
      <description>&lt;p&gt;It’s a long tradition at &lt;a href="https://bitrise.io"&gt;Bitrise&lt;/a&gt; that we compile the biggest learnings from the previous year in our annual State of App Development blog post. Let’s take a look at what 2021 brought our way, shall we?&lt;/p&gt;

&lt;p&gt;In 2021 we spent a great deal of time building new features for you to help you Step up your game on mobile. In addition, we frequently analyzed a ton of behavioral data and run user surveys to understand how we could improve Bitrise to give the finest experience for mobile developers. Here is the big picture of what we've found - as every year, we've broken it down into numbers to present it to you in a way you might find interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Total build time of all active apps on Bitrise
&lt;/h2&gt;

&lt;p&gt;In 2021, your builds ran for 5,915,281 hours on Bitrise, that is 675 years! (You know what happened 675 years ago? The Hundred Years' War!)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Platform distribution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F0u--sbh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txh1e71wbs5ms1ucdswd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F0u--sbh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txh1e71wbs5ms1ucdswd.png" alt="Apps built on Bitrise, by platform — 2021" width="736" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Native platforms are still the biggest:&lt;/strong&gt; iOS keeps its significant lead, but interestingly, its share decreased by more than 2%. Android, however, gained 1.6%&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As for cross-platforms:&lt;/strong&gt; React Native also increased by 1.6% and Flutter by 2%. Ionic and Cordova’s shares both decreased somewhat after a steady increase for years.&lt;/p&gt;

&lt;p&gt;MacOS also saw a small decline last year and we think that this is the result of Mac Catalyst being released last year.&lt;/p&gt;

&lt;p&gt;And sadly, due to the steady decline in the number of Xamarin projects on Bitrise, Bitrise will not officially support Xamarin any longer (however, there is &lt;a href="https://blog.bitrise.io/post/an-unofficial-way-to-keep-building-xamarin-projects-on-bitrise"&gt;an unofficial way to continue building Xamarin projects&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Xcode delivery and adoption
&lt;/h2&gt;

&lt;p&gt;Bitrise keeps delivering the new Xcode versions within the 48-hour window from the GA announcement. Last year, folks run the most builds on 12.5 reaching its peak in mid-September. But as soon as 13.0. GM dropped, they switched almost immediately.&lt;/p&gt;

&lt;p&gt;13.2.1 GA was announced unexpectedly on 17 December and it was taken up by developers all around the world as - for the first time ever, - Apple continued accepting submissions in App Store Connect throughout the holidays. Well, Bitrise was not a bottleneck for releasing apps on the newest Xcode even around the holidays.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bDTWdeAt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5cf7xthvqzxsdhhzw6y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bDTWdeAt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5cf7xthvqzxsdhhzw6y.png" alt="Xcode version adoption rate&amp;lt;br&amp;gt;
" width="880" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Git hosting in the cloud
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aH1P2JC4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y47667fsta320zi1pygu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aH1P2JC4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y47667fsta320zi1pygu.png" alt="Repos used in 2021" width="768" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Throughout the years we’ve been collecting data, our users always had the most repos on GitHub, but the increase of their share stopped at 56% in 2019 and since then decreased to 45%.&lt;/p&gt;

&lt;p&gt;Bitbucket, the second major player kept losing repos from 2017 to 2019, however, GitHub’s loss is Bitbucket’s gain: in the past 2 years, they went from 24% to 33%. Custom solutions, GitLab, and Self-hosted GitLab kept their old shares.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Devs
&lt;/h2&gt;

&lt;p&gt;In our survey, we asked a couple of interesting questions about how our users work and their mobile app related incomes. Our questions were mostly (94%) answered by folks working directly in mobile app development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Income&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mobile development is money… and it costs the most in the US for companies. Mobile developers are the best-paid in North America, where the majority of our participants earn between $150,001 - $250,000, compared to $50,001 - $100,000 in Europe. 💸&lt;/p&gt;

&lt;p&gt;We also tried to differentiate between folks working for a product company or in an agency, and it turned out that product companies usually pay better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Work management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remote and then hybrid work setup was forced on all the tech companies in 2020 by Covid. &lt;strong&gt;Of all the participants in our survey, 53% said that they are fully remote and 43% that they work in a hybrid setup.&lt;/strong&gt; Only the remaining 4% work only in an office. This data seems to fit what we hear about tech companies and how developers love skipping office days.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps and their owners&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The average number of apps each company builds on Bitrise keeps fluctuating: it was 2.35 in 2017, 3.35 in 2018, and then 6.47 in 2019.  In 2021, on average, each company has 2.76 apps, but some of our largest customers build hundreds of apps on Bitrise.&lt;/p&gt;

&lt;h2&gt;
  
  
  CI/CD: the best parts
&lt;/h2&gt;

&lt;p&gt;This is no news for us, but according to folks in our survey, iOS code signing… is difficult?  When asked, it got named as the number one problem that a CI/CD solution has to fix. (And &lt;a href="https://blog.bitrise.io/post/simplifying-automatic-code-signing-on-bitrise"&gt;we have recently tried to make it even simpler&lt;/a&gt; than before.)&lt;/p&gt;

&lt;p&gt;The second most important thing in CI/CD was deploying simultaneously to various services, followed by managing app dependencies for product companies and testing for agencies. The fourth: the other way round. 👀&lt;/p&gt;

&lt;p&gt;The least important feature for everybody was app store metadata and screenshots… we guess because it is often done by marketing anyway. (And they can manage them in our &lt;a href="https://devcenter.bitrise.io/en/deploying/deploying-with-ship/app-details-in-ship.html"&gt;Ship add-on&lt;/a&gt;.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;p&gt;Testing is a must, right? We keep seeing a steady rise in the number of tests running each year. 💫&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In 2021, our users run 67% more unit tests than UI tests. The number of UI tests increased by 27%, and the number of unit tests by 24% compared to the previous year.&lt;/strong&gt;&lt;br&gt;
From the survey we run before the holidays, we also know that 68% of our users run unit tests. 2nd most important is integration testing, then E2E UI testing, except for agencies, which find it less important than running functional tests and UAT tests.&lt;/p&gt;

&lt;p&gt;As for testing on devices, more than half of our responders test their apps on on-premise devices, which must be fun. (No.) 36% use virtual devices in the cloud and 29% physical devices in the cloud. Only 2% replied that they do not use any devices at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploys and releases
&lt;/h2&gt;

&lt;p&gt;On average, each app on Bitrise runs 2.43 deploy steps a week, which means that they create this many deploys to either the app stores or testers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Out of these, apps were sent to any of the app stores more than 2.5 million times, which is almost 40% more than last year!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The number of internal releases was even more staggering: almost 16 million times! &lt;strong&gt;That is a 27% growth in one year.&lt;/strong&gt; &lt;br&gt;
Does this mean that folks publish more confidently? We’re not sure, but one thing is sure: internal releases help create a tight feedback loop between developers and testers, and fewer bugs for users.&lt;/p&gt;

&lt;p&gt;We asked our users about the reasons that drive a new version release for the apps they work on. Product companies - with an assumedly more mature DevOps setup - release on a regular release cadence 59% of the time.  Bug fixes come up second with 17% and introducing new technologies third with 7%.&lt;/p&gt;

&lt;p&gt;For agencies, in contrast, the number of bug fix related releases equal the regular release schedule, so agencies fix bugs more times than product companies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Build Insights
&lt;/h2&gt;

&lt;p&gt;I’ve already mentioned that in 2021, your builds ran for 5,915,281 hours on Bitrise. Let’s see some more interesting stats that might come in handy if you want to compare your build stats to others'. How do your builds compare?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;average build time: 1076 sec (18 mins)&lt;/li&gt;
&lt;li&gt;average success rate: 68,4%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Flaky tests are a real problem, so we are working on a solution that will help users identify them by comparing historical test reports in Build Insights. This particular feature has not been released yet, but &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I can show you some data already. In the past two months:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Percentage of tests that require a re-run to complete: 1.9%&lt;/li&gt;
&lt;li&gt;The amount of time spent on re-run tests: 3.5 million seconds (972 hours)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll also be able to check out how long certain Steps run, so let us give you the average durations for a couple of popular Steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Xcode Archive &amp;amp; Export for iOS: 752.1 sec&lt;/li&gt;
&lt;li&gt;Android Build: 352.7 sec&lt;/li&gt;
&lt;li&gt;Xcode Test for iOS: 705.7 sec&lt;/li&gt;
&lt;li&gt;Android Unit Test: 183.5 sec&lt;/li&gt;
&lt;li&gt;Git Clone Repository: 42.2 sec&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can check out &lt;a href="https://blog.bitrise.io/post/monitor-and-improve-your-bitrise-performance-with-build-insights"&gt;Build Insights&lt;/a&gt; now too. ✨&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Steps and integrations in numbers 🌟
&lt;/h2&gt;

&lt;p&gt;There are currently around 350+ Steps and integrations in the Bitrise ecosystem. Maintained by us, our partners, and the community, each of these Steps is responsible for a small task, ranging from running tests, archiving the app, deploying, releasing, or notifying team members. During a build, a series of Steps run in the order defined in a Workflow.&lt;/p&gt;

&lt;p&gt;In 2021, our 350+ steps ran a grand total of 209,860,771 times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The most used Step in our Library&lt;/strong&gt;&lt;br&gt;
Like ever, our Script Step ran the most times in 2021. This Step is used when someone needs to run a custom command or install/update a tool that is not (yet) available on our virtual machines. (This is also the Step that fails the most times, so we suggest using the official Steps if possible. Maintenance is also easier for Steps from the out-of-the-box ones.)&lt;/p&gt;

&lt;p&gt;Apart from the usual suspects in the default workflows: Slack comes with over 6 million runs and Fastlane with over 4,5 million. 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o7KMpGvT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4447le0ljzvycf1p5gd1.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o7KMpGvT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4447le0ljzvycf1p5gd1.jpeg" alt="Most used Steps on Bitrise" width="443" height="902"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top build Steps&lt;/strong&gt; 👷&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gradle Runner&lt;/li&gt;
&lt;li&gt;Xcode Archive and Export for iOS&lt;/li&gt;
&lt;li&gt;Android Build&lt;/li&gt;
&lt;li&gt;Flutter Build&lt;/li&gt;
&lt;li&gt;Android Build for UI Testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Last year, we predicted Flutter Build would climb higher, and yup, it did overtake Android Build for UI Testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top test Steps&lt;/strong&gt; 🧪&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Xcode Test for iOS&lt;/li&gt;
&lt;li&gt;Android Unit Test&lt;/li&gt;
&lt;li&gt;Android Lint&lt;/li&gt;
&lt;li&gt;Gradle Unit Test&lt;/li&gt;
&lt;li&gt;Virtual Device Testing for Android&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This list is exactly the same as last year, the only thing that changed was the number of times they run: most of them run 1.5x times more than last year.&lt;/p&gt;

&lt;p&gt;We do have the mention the 6th one, however, as it’s kept missing the Top 5 list for years now. Danger is a very useful Step helping users avoid some typical errors. Have you tried it yet?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top deploy Steps&lt;/strong&gt; 🚀&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy to Bitrise.io - Apps, Logs, Artifacts&lt;/li&gt;
&lt;li&gt;Firebase App Distribution&lt;/li&gt;
&lt;li&gt;Google Play Deploy&lt;/li&gt;
&lt;li&gt;Deploy to App Store Connect with Deliver&lt;/li&gt;
&lt;li&gt;Firebase dSYM Upload&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deploy to Bitrise.io being the top 1 is not very surprising as when using Bitrise, you need to deploy your app and artifacts there to be able to use them later. &lt;strong&gt;Firebase is also kept its second place, but Google Play Deploy beat Deploy to App Store Connect with Deliver (formerly Deploy to iTunes Connect - Application Loader) for the first time in the history of the series.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top notification Steps&lt;/strong&gt; 💬&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send a Slack message&lt;/li&gt;
&lt;li&gt;Send a Microsoft Teams message&lt;/li&gt;
&lt;li&gt;Comment on GitHub Pull Request&lt;/li&gt;
&lt;li&gt;Post Jira Comment&lt;/li&gt;
&lt;li&gt;Send a Discord message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The top spots remained the same, with &lt;strong&gt;Slack’s whopping 6M runs in 2021&lt;/strong&gt;. Teams also did very well last year and their usage more than 2.5x-ed. Also, Discord overtook Telegram in 5th place.&lt;/p&gt;




&lt;p&gt;We hope these insights were as interesting for you as for us. We love feedback, so tweet us or comment on our social pages if you have any suggestions, or if we missed anything you might be interested in! We're proud to help so many great people saving countless hours and ensuring code quality, making sure that you have more time for your ideas and for your code.&lt;/p&gt;

&lt;p&gt;Please share this article! For more, keep an eye out by following us on &lt;a href="https://twitter.com/bitrise"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
