In this blog post, you will learn how to implement Continuous Integration(CI) and Deployment (CD) using App Center in Xamarin.Forms mobile app.
Introduction
Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.
App Center
App Center has multiple services that are most commonly used by mobile developers, where multiple services act as a single integrated product. With the use of a single integrated product, you can build, test, distribute, and monitor your mobile apps, and also implement push notifications.
Support Platforms
- Android
- iOS
- React Native
- UWP
- Xamarin
- macOS
- Cordova
App Center Services
- Build
- Diagnostics (Formerly Crashes)
- Test
- Analytics
- Distribute
- Push Notifications
CI - Continuous integration is the process of merging all developers work into a single main repository.
CD - Continuous delivery is a process of automatically buid and deploying your Xamarin apps to testers, or end users.
More
https://docs.microsoft.com/en-us/appcenter/build/
Prerequisites
- Visual Studio 2017 or later (Windows or Mac)
- App Center Account
- Any Git Repository
Create an app in the App Center (Android)
In this step, create an app in the App Center. Go to the following link. Now, sign in using your preferred account.
https://appcenter.ms/
Add New app
In this step, give your app name (Ex: MyApp). Select OS (Android) and Platform (Xamarin). Click Add new app.
Connect to Repository
In this step connecting your source repository. You can select which Repository you used. I'm going to select Azure Devops.
Now select your repository and working branch. Which branch you are going to build continuously. You should select. I used master branch.
Build Configuration
In this step I'm going to configure, build environment. After selecting git repository branches, You will see this window. Now you can click the setting icon in your branch.
Build
In this section you configure your app build details.
Configuration = Release
SDK version = select Stable sdk version
Build frequency = build this branch on every push (once you push code your remote repository it will automatically build)
Environment
In this section in your app have any environment variable you can configure here.
Sign builds
In this section, Configure signing details. Upload your Keystore file here. Check following link to get Keystore file.
https://docs.microsoft.com/en-us/xamarin/android/deploy-test/signing/keystore-signature?tabs=macos
Set keystore password here.
Distribute Builds
In this step release your app to Store or Groups, I select groups (once my build success the apk will send selected group.
Now Save & Build.
Done. You can commit your code it will automatically build and distribute your respective group or store.
I hope you have understood how to implement Continuous Integration(CI) and Deployment (CD) using App Center in Xamarin.Forms mobile app.
Thanks for reading. Please share your comments and feedback. Happy Coding :)