Mobile DevOps in the past has been a very difficult and tedious job to manage manually. But, with the introduction of Bitrise, mobile DevOp is as simple as pushing your source code to a version control repository.
In this article, we will work through everything you need to know about Bitrise to get started. We will explore the value proposition, describing what it is and how it functions.
Let’s get started with Bitrise:
What is Bitrise?
Bitrise is a mobile CI/CD platform as a service focusing on mobile development such as iOS, Android, Flutter, React Native, etc.
The idea of Bitrise is to deliver mobile applications faster. Bitrise achieved this by creating and offering different tools that handle your project from building, testing to deployment.
If your project uses some processes and integrations such as Github Status, CodeCov, Waldo, Slack, etc.,
Bitrise offers more than 300 steps and integrations to connect with these processes and services in your mobile development workflows.
The Waldo integration can help with building a no-code pipeline for your project.
Features of Bitrise
Many features are expressed on the Bitrise official website, but we will explore a few of the most important ones.
Continuous Integration for Mobile
As stated above, mobile DevOps has been a tedious job running it manually and even more expensive to set up.
Bitrise has simplified the process at a reduced cost, saving you time spent on testing, onboarding, and maintenance with automated workflows and triggers.
With the Bitrise system, the Mobile development team can release their mobile apps directly to app stores with confidence since it can catch errors and bugs during the build pipeline.
It can deliver Mobile apps faster, and developers time is saved by an easy setup workflow, webhooks and run build tests automatically on every commit to the branch.
You can also set up workflows by dragging and dropping new Steps, notifications and triggers to tweak the CI process to your exact needs in hours.
Steps and workflows
This simple feature makes even a none DevOp specialist set up pipelines and run different build steps efficiently.
If your company uses the popular Gitflow, you can easily create separate workflows for your feature, develop and master branches to define which kind of tests to run when, and which version of your app to deploy to specific tester groups.
Full mobile stack coverage
Bitrise covers a wide range of mobile stacks, from building native applications using languages such as Swift, Java, Kotlin to building a cross-platform mobile app with React Native, Flutter, Xamarin and Cordova; Bitrise supports it all.
In whatever stack you chose to build with, Bitrise will configure and set up a workflow for your stack so that you and your team don’t ever have to worry about mobile DevOps anymore.
Integrating with any code repository
Bitrise supports all type of source control system your team uses, from Github, Github enterprise, Gitlab, Gitlab enterprise to Bitbucket, including cloud and on-premise. Bitrise supports it all, and you don’t even need to worry about choosing a particular source control system.
With just a simple push to the configured branch, Bitrise will handle everything from there to deployment depending on the workflow you define and its steps.
Getting Started with Bitrise
Before we get into building our pipeline and setting up Bitrise with our android project, we will discuss some of the terms you might find confusing as we move along.
Terminologies
Build
A build is a series of jobs specified by the app’s Workflow, a collection of Steps. When you create a workflow in Bitrise, you need to specify a series of jobs that you want that workflow to carry out. That is exactly what a Build is.
CI typically uses a build server to implement continuous quality control processes, in which entities review the quality of all factors involved in the production.
You can learn more about Bitrise build here.
Workflow
Bitrise workflow is an integral part of Bitrise mobile DevOps because it organizes a series of steps configured as a build to be executed by the Bitrise CLI.
Also, note that these steps will be executed in other and uses the environment variables configured in the Bitrise dashboard.
Steps
According to Bitrise, Steps are the heart of Bitrise because it is a build task defined to perform when the Bitrise CLI executes the workflow.
It’s worth noting that Jobs are the collection of Steps. For example, you can configure your Step to send your APK file to Waldo for no code testing before deploying to app stores.
Code signing
According to Bitrise. “Code signing is the process of digitally signing your app, as a means of guaranteeing that the code has not been altered since signing. It provides security for deployment and identifies the author”.
Bitrise tries to make the process of digitally signing your app easy and convenient.
Trigger
Trigger prompts the Build action.
You can trigger for build only when you PUSH to your Repo or PULL REQUEST or decide to trigger a build for both.
Stacks
The Stack indicates the virtual machine version that will use to run your build. After adding your application to Bitrise, we will select an appropriate Stack for it.
Setting up a CI Pipeline
Setting up a CI Pipeline requires lots of writing in the YAML file, editing, and deleting before you might get it right.
You will see how Bitrise will make it super easy to set up an Android CI Pipeline in less than 5mins(highly depends on your service provider)
Setting up new project
Go to Bitrise.io and register your free trial account to get started with Bitrise. Once you have created your account, click on the “Add New App” button to create a new Bitrise App.
Once you click on “Add New App”, you will have two options to either create your app online or use CLI. In this guide, we will work with the Web UI, so click “Add New App on web UI”.
The first thing to do is to choose your app privacy settings. In this guide, we will select public as our privacy setting.
Next, select the repository you want to build from by selecting from the repositories list either from Github, Bitbucket or Gitlab. Bitrise will connect your repository and set up access. The next step is adding a default branch for the building; after that, click “Next”.
Bitrise will configure your App and automatically detect if your project is an Android project, and set the default module.
Next, we have to specify the variant Bitrise will build with. In this guide, we added it to always build with the debug variant and not release.
Ensure that all the information is accurate. Click on the “Confirm” button, and open the image below.
Select an App icon for your Bitrise app, you can select the default Android app icon or add your own, but you can Skip for Now by clicking the button if you are not ready.
Registering Webhook
So, we have successfully configured our build sequence without writing a single line of code. Let’s configure a webhook that will be trigger each time we push our code to the repository branch we selected.
To have Bitrise automatically start a build every time you push code into your repository, you can set up a webhook at your code hosting service or repository, that will automatically trigger a build on Bitrise with the code you push to your repository.
Bitrise can automatically register a Webhook for you if you have administrator rights for this repository.
Click on the “Register a Webhook for me” button to add a webhook to your repository and if everything is successful, you should be presented with a success screen like below.
Bitrise will send you a mail whenever you have a successful/failed to build, as a means of notifying the developer/ Team Lead.
Bitrise Pricing System
Bitrise’s pricing module is very flexible and relatively cheap compare to the number of tools at your disposal. The number of time it saves developers and teams in managing projects from building to deployment.
The Solo Developer plan is a great plan for a single individual, and it goes for $36/month for a year plan. It’s a great plan to get started with Bitrise and test out the product.
You can get an overview of the pricing module on their official website, and they also offer a free tier for developers who wants to try out their product.
Final Thoughts
Bitrise is a mobile DevOps and CI/CD platform that eliminates the tedious job involved in building, testing and deploying your mobile app to any app store manually.
With the Bitrise platform, your mobile team can deliver projects faster, they can build, test and deploy projects by simply pushing to a Github branch.
We have explained a few concepts in Bitrise Continuous integration that will give you a basic understanding of how to get started with Bitrise and set up a Bitrise Pipeline for Android development.