Introduction to Continuous Integration with Xamarin

Continuous Integration is a software engineering practice in which an automated build compiles and optionally tests an app when code is added or changed by developers in the project's version control repository. This article will discuss the general concepts of Continuous Integration and some of the options available for Continuous Integration with Xamarin projects.

Introduction To Continuous Integration

This section covers the different components involved with continuous integration and their relationships. It outlines the continuous integration environments that are discussed in the specific sections below.

Firewall Configuration

In order for tests to be submitted to Xamarin Test Cloud, the computer submitting the tests must be able to communicate with the Test Cloud servers. Firewalls must be configured to allow network traffic to and from the servers located at on ports 80 and 443. This endpoint is managed by DNS and the IP address is subject to change.

In some situations, a test (or a device running the test) must communicate with web servers protected by a firewall. In this scenario the firewall must be configured to allow traffic from the following IP addresses:


Working with Continuous Integration Environments

Using App Center Build with Xamarin

Build Xamarin.iOS and Xamarin.Android solutions with App Center, straight from GitHub, VSTS, or Bitbucket.

Using TeamCity with Xamarin

This guide discusses the steps involved with using TeamCity to compile mobile apps and then submit them to Xamarin Test Cloud.

Using Jenkins with Xamarin

This guide illustrates how to set up Jenkins as a continuous integration server and automate compiling mobile apps created with Xamarin. It describes how to install Jenkins on OS X, configure it, and set up jobs to compile Xamarin.iOS and Xamarin.Android apps when changes are committed to the version control system.