Enterprise High Availability Mode

Travis CI Enterprise typically runs as a single container instance communicating with one or multiple workers, but we also offer a High Availability configuration so you can run your installation with redundancy. Particularly for customers with large-volume licenses, High Availability Mode is a helpful way to have additional stability.

If you’re interested, or might be interested, in running Travis CI Enterprise in High Availability mode, please email us at enterprise@travis-ci.com and we can discuss options and help you get started.

Overview of Installation #

The platform installation is similar to the standard Enterprise installation, and the worker installation is identical. However, there are some additional system prerequisites, which means that to install in HA mode, you will need the following:

  • 3+ 16 gigs of RAM, 8 CPUs, 40GB HDD, i.e. c4.2xlarge with a 40GB HDD. - 2+ for the VMs running the Platform, and 1+ for the VMs running the Worker
  • Redis, RabbitMQ, and Postgres instances
  • GitHub OAuth app, trial license – enabled for HA
  • Internet connection – note, this installation is not airgapped by default. Let us know if you are interested in one.

Installing the Platform in High Availability Mode #

HA is configured entirely on the Enterprise platform instance, but installing an HA platform is quite similar to installing a standard platform. The steps for HA are as follows.

  1. Contact enterprise@travis-ci.com to have your Enterprise license configured for HA mode.
  2. Set up your platform instance using the standard installation steps
  3. Sign into your Admin Dashboard (at https://<your-travis-ci-enterprise-domain>:8800)
    1. Go to ‘Settings’ and click ‘Enable HA’.
    2. Paste in the URLs where you have Postgres, Redis, and RabbitMQ hosted. The connection strings should be in the format of:
    3. Optional: Upload a RabbitMQ Client Certificate (.crt). This allows RabbitMQ to use TLS.
    4. Scroll down to the bottom of the page.
    5. Click ‘Save’ and restart.

Once your first platform instance is fully configured, you should be able to see the UI and request a build - your build will only run correctly, if a worker is installed. Try out your new platform, and please let us know if you have questions.

Adding More Platform Installations #

We recommend at least two Platform containers for HA mode and you can install more Enterprise containers in the same way you installed the first.

Once your second platform is installed, it will also need its HA settings configured. Go to the Admin Dashboard for your new platform container at https://<your-second-travis-ci-enterprise-domain>:8800 to configure these as you did for the first platform installation.

Installing the Worker in High Availability Mode #

The worker installation works the same as for non-HA installations, as do the build environment compatibility defaults per Enterprise version. Check out the docs for which version of Enterprise handle different OS’s and other information regarding installation. You will need to retrieve your RabbitMQ password from your own installation, rather than from the Travis CI Enterprise Admin Dashboard.

Contact Enterprise Support #

To get in touch with us, please write a message to enterprise@travis-ci.com. If possible, please include as much of the following as you can:

  • Description of the problem - what are you observing?
  • Which steps did you try already?
  • A support bundle (You can get it from https://<your-travis-ci-enterprise-domain>:8800/support)
  • Log files from all workers (They can be found at /var/log/upstart/travis-worker.log - please include as many as you can retrieve).
  • If a build failed or errored, a text file of the build log

Have you made any customizations to your setup? While we may be able to see some information (such as hostname, IaaS provider, and license expiration), there are many other things we can’t see which could lead to something not working. Therefore , we’d like to ask you to also answer the questions below in your support request (if applicable):

  • How many machines are you using?
  • Do you use configuration management tools (Chef, Puppet)?
  • Which other services do interface with Travis CI Enterprise?
  • Do you use Travis CI Enterprise together with github.com or GitHub Enterprise?
  • If you’re using GitHub Enterprise, which version of it?

We’re looking forward to helping!