LOUISVILLE, KENTUCKY
ATLANTA, GEORGIA
CHICAGO, ILLINOIS
CINCINNATI, OHIO
DENVER, COLORADO
HARRISBURG, PENNSYLVANIA
MADISON, WISCONSIN
RARITAN, NEW JERSEY
TORONTO, ONTARIO
BANGALORE, INDIA
HYDERABAD, INDIA

V-Soft's Corporate Headquarters

101 Bullitt Lane, Suite #205
Louisville, KY 40222

502.425.8425
TOLL FREE: 844.425.8425
FAX: 502.412.5869

Denver, Colorado

6400 South Fiddlers Green Circle Suite #1150
Greenwood Village, CO 80111

TOLL FREE: 844.425.8425

Chicago, Illinois

311 South Wacker Dr. Suite #1710, Chicago, IL 60606

TOLL FREE: 844.425.8425

Madison, Wisconsin

8401 Greenway Boulevard Suite #100
Middleton, WI 53562

TOLL FREE: 844.425.8425

Harrisburg, Pennsylvania

4813 Jonestown Road Suite #103
Harrisburg, PA 17109

TOLL FREE: 844.425.8425

Atlanta, Georgia

1255 Peachtree Parkway Suite #4201
Cumming, GA 30041

TOLL FREE: 844.425.8425

Cincinnati, Ohio

Spectrum Office Tower 11260
Chester Road Suite 350
Cincinnati, OH 45246

Phone: 513.771.0050

Raritan, New Jersey

216 Route 206 Suite 22 Hillsborough Raritan, NJ 08844

Phone: 513.771.0050

Toronto, Canada

1 St. Clair Ave W Suite #902, Toronto, Ontario, M4V 1K6

Phone: 416.663.0900

Hyderabad, India

Incor 9, 3rd Floor, Kavuri Hills
Madhapur, Hyderabad – 500033 India

PHONE: 040-48482789

Bangalore, India

GINSERV, CA Site No 1, HAL
3rd Stage Behind Hotel Leela Palace
Kodihalli, Bangalore - 560008 India

Why Visual Studio App Center is Good for Implementing CI and CD in Mobile App Development

Continuous Integration (CI) and Continuous Deployment (CD) are integral practices for adopting Agile methodology and DevOps that help foster the Time-To-Market and Time-to-Delivery. To facilitate practices of CI and CD while developing mobile apps, Microsoft introduced a cloud platform named Visual Studio App Center that manages the complete Mobile Application Development Lifecycle.

Why Mobile App Development Should Adopt CI and CD?

Traditionally companies were shipping new app releases on a monthly or quarterly basis. But recently, the trend has changed to several app-updates on a weekly or daily basis. The main reason being to remain ahead of other competitors by rolling out latest features constantly, and being in an error free state most of the time by pushing bug-fixes, adapting to latest OS versions, etc.

The manual effort to test, sign, update version numbers and send new builds to the App Store and the Google Play Store is a lot, especially when multiple builds are being generated per day. The question that arises is, “How do we automate this process?”. The answer is by implementing Mobile DevOps with Continuous Integration, Continuous Delivery and Continuous Deployment.

Continuous integration combines the work of multiple developers and is usually done to finish multiple features and fix bugs simultaneously, in an iterative fashion. Continuous Delivery is a methodology that build apps so they are ready whenever a release is required at any point of time. Continuous Deployment is an automation process that instantly deploys the changes you make, to Google Play Store, Apple App Store etc. or to a group of testers through a pipeline.

Implementing Continuous Integration and Deployment for Mobile apps With Visual Studio App Center

Visual Studio App Center brings together multiple services commonly used by mobile developers. App Center can be used for multiple services to build, test and deploy applications, usage and crash data analytics, push notifications, user authentication, and data synchronization. Visual Studio App Center can be used with many mobile app development technologies. Here is a list of Technologies that App Center currently supports:

  • Android (Native Android Application Development using Java or Kotlin)
  • iOS (Native iOS Application Development using Objective-C or Swift).
  • Xamarin
  • React Native
  • UWP
  • macOS
  • Cordova
  • Unity

Figure: Depicting list of technologies supported by App Center

Figure: Depicting list of technologies supported by App Center

Configuring Source

App Center supports multiple source control providers (VSTS, Github and Bitbucket). Once a repository is connected from any of these providers, a branch from the repository is to be selected as the source for the build process.

Figure: Depicting various Source Control Provider options in App Center, to implement CI

Figure: Depicting various Source Control Provider options in App Center, to implement CI

Figure: Depicting a branch from a Github repository being selected as a source for build process.

Figure: Depicting a branch from a Github repository being selected as a source for build process.

Build Configuration

Build configuration depends on the technology and OS platform combination. For iOS applications, we will need to specify details like iOS SDK version, Xcode version, provisioning profile, signing certificate etc. Whereas for Android required information would be Android SDK version number, Keystore details for signing etc.

We can also mention how the Build Number (unique number referring to each build which is incremental in nature indicating an update in the App Store) needs to be updated in this step. We can either choose "Build ID" which would be a plain whole number which gets incremented in each build (value will be 1 for first build) or the current Time Stamp. Both of these options would result in new builds being created with higher build numbers than before. The build number is not to be confused with application version number which appears in App Store/Play Store. 

Figure: Depicting build configurations available for iOS applications.

Figure: Depicting build configurations available for iOS applications.

Figure: Depicting Build Signing Configurations available for iOS

Figure: Depicting Build Signing Configurations available for iOS applications.

Distribution

Distribution can be done either to an internal testing group or to Appstore/Play Store depending on the distribution strategy. In the “Distribute” section of the menu, “Groups” needs to be selected to create a Distribution Group of internal testers. Alternatively, App Store or Play Store accounts can be connected from the “Stores” menu. 

Figure: Depicting various distributions channels available in App Center for CD

Once a distribution group is created or store account is connected, we can trigger a release manually from the portal or configure to distribute automatically on every successful build (in the “Distribute” section of build definition) as depicted below.

Figure: Depicting configuration of Continuous Distribution

Conclusion

One of the major advantages of choosing Visual Studio App Center over other common providers for CI/CD is that apart from automated build and deployment systems it also provides a bouquet of other services like Crash Analytics, App Usage Analytics, Push Notification Service, and more. This makes Visual Studio App Center a one-stop shop for all mobile application development requirements. The ease of use that comes with the intuitive UI of the management console and the feature richness make Visual Studio App Center the first choice for many mobile app developers.

New Call-to-action

Sreeraj-removebg-previewAbout Author

Sreeraj P R  works as Sr. Software Engineer at V-Soft Labs and has over 6 years of experience in the IT industry. He has profound expertise in Mobile Application development for Android and iOS using Xamarin. He also has experience into web technologies like ASP.Net.

 

Topics: Mobile Apps, Mobile, Continious Integration, Visual Studio App Center, Continuous Deployment

Get Weekly Updates

Enterprise Mobile Apps Guide