What should every newcomer know about Bitrise?
Tags: bitrise, cicd, mobile, devops
Published: 2020-11-23 22:01:07

In this article I will go through questions and answers every beginner should know about Bitrise.

## In the beginning, we need to know what is Bitrise?
Bitrise is a Continuous Integration and Delivery (CI/CD) Platform as a Service (PaaS). It is a collection of tools and services to help you with the development and automation of your software projects.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/p6n6vedc820i4e6oa4qy.png)

And now let's explore the questions and the answers about Bitrise:

### Q1 - What the platforms that Bitrise supports?
The main focus of Bitrise on the mobile app development for any app or platform such as:
- iOS (Swift and Objective-C)
- Android (Java and Koltin)
- Flutter (iOS and Android)
- React Native (iOS and Android)
- Ionic (iOS and Android)
- Cordova (iOS and Android)
- Xamarin (iOS and Android)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6n6nxv4ffnh0e40yf1mh.png)

### Q2 - Is Bitrise support Cross-platform development?
Yes as we mentioned above we can build and deploy your cross-platform app using different technologies such as Flutter, React Native, Ionic, and Cordova

### Q3- Is Bitrise support different source code repositories?
Yes, Bitrise supports the popular source code repositories such as GitHub, GitLab, Bitbucket, and also you can connect with your SSO (Single Sign-On) with your private repositories with GitHub Enterprise.

### Q4- Do I need any hardware pre-requests to be able to start with Bitrise?
No, Bitrise is a full-featured mobile CI / CD in the cloud, for any platform. This means that, in addition to builds running on Linux machines, MacOS builds are also fully included in all plans, including those for free users, and open source projects. No expensive hardware required. 

### Q5- How can I connect my project with Bitrise?
With Bitrise you can set up your CI/CD workflow in 60 seconds, Once you add your app to Bitrise, Bitrise has a magic project scanner that automatically detects the project type and kickstarts a build for Android and iOS or for both. 

For more details:
https://www.bitrise.io/integrations


### Q6- What are the build stacks that Bitrise support?

**For the native iOS apps:** it’s simple: choose the stack that has the same Xcode version that you use to develop and build your app.

**For native Android apps:** the stack is Android, Docker, and Linux, it's including docker images for : 

- Bitrise Base image
- Base Android image
- Android NDK image
- Android NDK LTS image

**For Cross-platform apps:** you can use the hybrid stack, which includes Xcode - but its version of Xcode is automatically upgraded from time to time. If, however, your cross-platform app requires a specific Xcode version then you should choose that particular Xcode stack. That way an Xcode upgrade will not break anything in your builds.

for more info check

https://devcenter.bitrise.io/infrastructure/available-stacks/

### Q7- How can I create my first app with Bitrise?
After creating your account with Bitrise, we can start adding your first application in two ways: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/t13ea1j2per1mby9p3vn.png)

- From the GUI (web UI) Bitrise Website https://app.bitrise.io/
- From Bitrise_CLI is a Command Line Interface for running your Workflows from Bitrise on your local machine or even automate your local development processes (or almost anything) with a single terminal command.

### Q8- What are the Bitrise Steps and Workflows?
Steps and Workflows are the heart of how Bitrise works. A Bitrise build is simply a series of Steps, defined in a Workflow, executed by the Bitrise CLI on our virtual machines
- A Step contains the code that performs the build task. You can configure the inputs and parameters that define the task, and view and reuse the outputs a Step generates.
- When a build of an app is running, the Steps will be executed in the order that is defined in the Workflow.

- You can easily move Steps around in a Workflow, you can chain different Workflow together, and you can configure your app so that different branches or code events trigger builds with different Workflow.

for more details check the following link: 
https://devcenter.bitrise.io/steps-and-workflows/steps-and-workflows-index/

To know more about the integration steps check this link: 

https://www.bitrise.io/integrations/steps/

### Q9- Can I develop or build my own step with Bitrise?
Of course, you can, Bitrise support open-source contribution to help the developer community to build and deploy apps easily. 

For example, I did a step to integrate Sauce Labs with Bitrise to be able to run my Android UI tests on Sauce Labs devices, read more about the step from this link:
 
https://www.linkedin.com/pulse/my-first-bitrise-step-saucelabs-integration-moataz-nabil/

### Q10- What are concurrencies?
One concurrency = one build at a time

This means that if you trigger 5 builds simultaneously while you only have a single concurrency available, you’ll have to wait for each one to finish before the next one can start. However, if you have 5 concurrencies, the builds will run in parallel at the same time. 

### Q11- What is Bitrise Webhook?
A webhook is a user-defined callback that is triggered by some event, such as pushing code to a repository. Bitrise makes extensive use of webhooks:

- Incoming webhooks, registered with your Git service provider, are used to automatically trigger builds on Bitrise.

- Outgoing webhooks are used to send reports of build events to other services, such as Slack.
You can add an incoming webhook automatically either when creating an app or later; it’s also possible to manually add a webhook to any supported service.

For more details check this link:
https://devcenter.bitrise.io/webhooks/webhooks-index/

### Q12- Are my apps secure with Bitrise?
Yes sure, the world's most security-conscious teams rely on Bitrise to build applications safely, to read more about the security measures at Bitrise including Certificates / Compliance, Product Security, Data Security, Network Security, Business Security, and Physical Security check these links:

https://www.bitrise.io/why/features/security

https://www.bitrise.io/privacy

### Q13- How can I add my secrets like passwords or usernames with Bitrise?
We can use the Environment Variables (Env Vars). They can be defined on the level of apps, Workflow, or Steps.

For more details: 
https://devcenter.bitrise.io/builds/available-environment-variables/

### Q14- How can I deploy my apps with Bitrise?
Deployment can mean a number of things on Bitrise: you can deploy your app to test devices, or to bitrise.io, with a public install page that you can freely distribute so that anyone can test the app; you can deploy your app to a simulator, to conduct UI testing, for example; and of course you can deploy your apps to online stores, such as the App Store or the Google Play Store. 

You can also deploy to third parties like Appaloosa, DeployGate, Appetize.io, Amazon Device Farm, and many more. 

For more details: 
https://devcenter.bitrise.io/deploy/deployment-index/

### Q15- Can I use Bitrise for free?
Yes sure, Bitrise has different pricing models for solo developers, teams/organizations, and enterprises. 


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/x0j2eur0lh8kzall01jt.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/n9zh85y7txbea50omazy.png)


and also when the COVID-19 Crisis started, Bitrise initial a support plan for the community including more free build time, Non-profit support, Virtual Conferences and Webinars, and Virtual Meetups. 

for more details:
https://www.bitrise.io/pricing

### Q16- Is Bitrise support open-source projects, contributors, and students?

Yes sure, Bitrise supports effort from the developer's community, contributors, and also if you are a student you can get a developer plan to get started with Bitrise

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7f7409es8iui8w5yeb64.png)

Also, Bitrise has a Bitrise Experts Program for Sharing your love for Bitrise with others, and enjoy the benefits that come with it, to know about the program check this link

https://www.bitrise.io/community/experts-program

### Q17- Where I can find any helpful resources to get started with Bitrise?
Bitrise has a documentation portal including all the info that you need to know, also there is a Bitrise Discussion portal to post or ask any question, check the changelogs for the features and you can also request a new feature from the Bitrise team. And also they have Bitrise Blog which is including technical articles from the Bitrise team or guests from the community to help you to understand more details about Bitrise in a practical way. 

And Finally, if you are a Bitrise user you can use Bitrise Support Center to submit your ticket or question about your current projects.
https://www.bitrise.io/bitrise-support

https://discuss.bitrise.io/

https://www.meetup.com/bitrise-events/

https://www.bitrise.io/community/webinars

### Q18- Is there an API for Bitrise to be able to use it with custom integration? 
Yes, Bitrise API allows you to build deep, custom integrations with your preferred tools and processes to create even more efficient development pipelines.

The API provides you with control of - and access to - the features and data available through the Bitrise website and CLI. By using the API, you gain the ability to fully customize Bitrise’s functionality to fit your process.

For more details check this link:
https://devcenter.bitrise.io/api/api-index/

### Q19- Is Bitrise has a solution to monitor the application to know the crashes?
Yes, Bitrise has a Trace step (still beta) that helps you to detect, identify, and resolve issues before users report them. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ftv8lub5vsq7au3hzwnv.png)


For more details 
https://www.bitrise.io/add-ons/trace-mobile-monitoring

### Q20- Can I check the current status of Bitrise services and operations?
Yes, you can check the following link, and also you can subscribe to get the updates or the current issues about all the services of Bitrise. https://status.bitrise.io/ 

More info about Bitrise:
https://www.bitrise.io/

Thank you for reading and Happy Building!

Moataz Nabil
AWS Community Builder and Bitrise Expert