Skip to content

Commit

Permalink
Merge pull request travis-ci#3431 from travis-ci/DU-24/TCIE_DocUpdate
Browse files Browse the repository at this point in the history
Du 24/tcie doc update
  • Loading branch information
stan-travis authored Dec 11, 2024
2 parents 67793d1 + 9e6b45b commit abd53fa
Show file tree
Hide file tree
Showing 30 changed files with 924 additions and 732 deletions.
15 changes: 9 additions & 6 deletions _includes/enterprise_sidebar.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
<h3>Travis CI Enterprise</h3>
<ul>
<li><a href="/user/enterprise/">About Travis CI Enterprise</a></li>
<li><a href="/user/enterprise/setting-up-travis-ci-enterprise/">Setting up Travis CI Enterprise 2.x</a> </li>
<li><a href="/user/enterprise/tcie-3.x-overview/">Enterprise 3.x Overview</a></li>
<li><a href="/user/enterprise/tcie-3.x-setting-up-travis-ci-enterprise/">Setting up Travis CI Enterprise 3.x</a> </li>
<li><a href="/user/enterprise/setting-up-worker/">Setting up Worker</a> </li>
<li><a href="/user/enterprise/upgrading/">Upgrading Travis CI Enterprise 2.x</a></li>
<li><a href="/user/enterprise/tcie-3.x-upgrading/">Upgrading Travis CI Enterprise 3.x</a></li>
<li><a href="/user/enterprise/tcie-3.x-obtain-license/">Obtaining 3.x License</a></li>
</ul>

<h3>Environment reference</h3>
Expand Down Expand Up @@ -41,13 +41,16 @@ <h3>Enterprise Operations Manual</h3>
<li><a href="/user/enterprise/workspaces-eom/">Workspaces & Cache</a></li>
</ul>

<h3>Migrating from Enterprise 2.x to 3.x</h3>
<h3>Enterprise 2.x Archive</h3>
<ul>
<li><a href="/user/enterprise/tcie-3.x-overview/">Enterprise 3.x Overview</a></li>
<li><a href="/user/enterprise/tcie-3.x-obtain-license/">Obtaining 3.x License</a></li>
<li><a href="/user/enterprise/setting-up-travis-ci-enterprise/">Setting up Travis CI Enterprise 2.x</a> </li>
<li><a href="/user/enterprise/upgrading/">Upgrading Travis CI Enterprise 2.x</a></li>
<li><a href="/user/enterprise/tcie-3.x-migrating-db-from-2.x-to-3.x/">Migrating Database from 2.2.6+ to 3.x</a></li>
<li><a href="/user/enterprise/operations-manual-tcie-2.x/">Operations Manual for 2.x</a></li>
<li><a href="/user/enterprise/high-availability-tcie-2.x/">High Availability for 2.x</a></li>
<li><a href="/user/enterprise/platform-tips-tcie-2.x/">Platform Administration Tips for 2.x</a></li>
</ul>

<h3>Travis CI Docs</h3>
<ul>
<li><a href="/">Travis CI Docs</a></li>
Expand Down
2 changes: 1 addition & 1 deletion user/enterprise/Multi-CPU-Builds.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In order to enable the capability of building on multiple CPU architectures, the
* Perform the additional installation steps required for Travis CI Enterprise Worker.
* Configure CPU-specific queues to which newly installed Workers can listen for scheduled jobs.

The MultiCPU environment runs as LXD containers within an LXD host. Once the infrastructure is set up, developers can use it by simply modifying the .travis.yml in the repository. Please see our [Multi CPU documentation](https://docs.travis-ci.com/user/multi-cpu-architectures/) for usage examples.
The MultiCPU environment runs as LXD containers within an LXD host. Once the infrastructure is set up, developers can use it by simply modifying the .travis.yml in the repository. For usage examples, please see our [Multi CPU documentation](https://docs.travis-ci.com/user/multi-cpu-architectures/).

Please see [deployment](https://docs.travis-ci.com/user/enterprise/setting-up-worker/) and [configuration](https://docs.travis-ci.com/user/enterprise/worker-configuration/) instructions on preparing Travis CI Enterprise to build against various CPU architectures.

Expand Down
4 changes: 2 additions & 2 deletions user/enterprise/bionic.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ layout: en_enterprise

We recommend using a **compute optimized** machine with 8 vCPUs and ~16 GB of memory, and at least 60 GB of disk space. Also, we suggest to run Ubuntu 18.04 or later. Port 22 must be open for SSH during installation and operation.

> A single worker machine can only be used together with one build environment. If you would like to setup additional build environments (such as Xenial or Focal), please provision an additional machine.
> A single-worker machine can only be used together with one build environment. If you would like to set up additional build environments (such as Xenial or Focal), please provide an additional machine.
## Third-party apt repositories and services disabled by default

[Third party apt-repositories are removed](https://docs.travis-ci.com/user/reference/bionic/#third-party-apt-repositories-removed) to help reduce risk of unrelated interference and allow for faster apt-get updates.
[Third-party apt-repositories are removed](https://docs.travis-ci.com/user/reference/bionic/#third-party-apt-repositories-removed) to help reduce risk of unrelated interference and allow for faster apt-get updates.

[Services disabled by default](https://docs.travis-ci.com/user/reference/bionic/#services-disabled-by-default) to speed up boot time and improve performance.

Expand Down
26 changes: 13 additions & 13 deletions user/enterprise/build-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ upgrading build images from [quay.io](https://quay.io/organization/travisci).

### Ubuntu Trusty build environments

For Ubuntu Trusty build environments we ship three Docker images in total. Depending on the user's `.travis.yml` configuration, we will pick the corresponding image to run the build.
For Ubuntu Trusty build environments, we ship three Docker images in total. Depending on the user's `.travis.yml` configuration, we will pick the corresponding image to run the build.

We're shipping the same Docker build images as we use on travis-ci.com. The base image, `connie` contains all databases and frameworks preinstalled, such as postgresql, mysql, memcached, pyenv, rvm, gimme. Though there are no interpreters available. Based on `connie` there is `garnet`, which adds the following programming languages:
We're shipping the same Docker build images as we use on travis-ci.com. The base image, `connie` contains all databases and frameworks preinstalled, such as postgresql, mysql, memcached, pyenv, rvm, and gimme. Though there are no interpreters available. Based on `connie`, there is `garnet`, which adds the following programming languages:

- Ruby
- Node.js
Expand All @@ -39,16 +39,16 @@ The third image, `amethyst`, additionally ships with Android, Erlang, Haskell an
### Ubuntu Precise build environments (deprecated)

In the Ubuntu Precise environment we're shipping a separate Docker image for each language we support. There we support the same languages as in our current Trusty environment.
In the Ubuntu Precise environment, we're shipping a separate Docker image for each language we support. There, we support the same languages as in our current Trusty environment.

### How to customize

The process is to:

- start a Docker container based on one of the default build images
`travis:[language]`,
- run your customizations inside that container, and
- commit the container to a Docker image with the original
- Start a Docker container based on one of the default build images
`travis:[language]`.
- Run your customizations inside that container.
- Commit the container to a Docker image with the original
`travis:language name (tag)`.

For example, in order to install a particular Ruby version which is not
Expand All @@ -73,33 +73,33 @@ To build docker images on Travis CI Enterprise, add the following to `/etc/defau

#### Configuration for Docker Builds in Trusty Build Environments

With Trusty build images a few additional steps are required. Since `docker-ce` can't run on its own inside another Docker container, it'll connect to the Host's Docker daemon to execute the respective commands.
With Trusty build images, a few additional steps are required. Since `docker-ce` can't run on its own inside another Docker container, it'll connect to the Host's Docker daemon to execute the respective commands.

We accomplish this by adding another configuration option to `/etc/default/travis-worker`:

```
export TRAVIS_WORKER_DOCKER_BINDS='/var/run/docker.sock:/var/run/docker.sock'
```

With this option we tell `travis-worker` to make the host's Docker socket available inside the build containers.
With this option, we tell `travis-worker` to make the host's Docker socket available inside the build containers.

> Please restart travis-worker after you have saved the configuration file.

#### Restart travis-worker

To restart travis-worker, you can find the instructions [here](/user/enterprise/worker-cli-commands/#stopping-and-starting-the-worker).
To restart the travis-worker, you can find the instructions [here](/user/enterprise/worker-cli-commands/#stopping-and-starting-the-worker).

### Updates to your .travis.yml files

#### Trusty build containers

Once the worker machine is [configured properly](/user/enterprise/build-images/#worker-machine-configuration), you can use Docker as usual in your build.

> Please note that on an Enterprise installation you don't need to add `services: docker` to the `.travis.yml`.
> Please note that on an Enterprise installation, you don't need to add `services: docker` to the `.travis.yml`.
Since you're using the host's Docker daemon, all images and containers used in your build are stored on the host machine. To free up disk space, we recommend using the `--rm` flag when you use Docker run in your build. In addition, customers will be required to periodically clear unused images generated by their builds i.e. executing `docker rmi ...` command or similar.
To avoid race conditions when multiple builds start to remove containers and images at the same time, we recommend to clean them up manually on the machine directly while no build is running.
Since you're using the host's Docker daemon, all images and containers used in your build are stored on the host machine. To free up disk space, we recommend using the `--rm` flag when you use Docker run in your build. In addition, customers will be required to periodically clear unused images generated by their builds, i.e., executing the `docker rmi ...` command or similar.
To avoid race conditions when multiple builds start to remove containers and images simultaneously, we recommend cleaning them up manually on the machine directly while no build is running.

#### Precise build containers (legacy)

Expand Down
4 changes: 2 additions & 2 deletions user/enterprise/custom-queues.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Travis::Features.enable_for_all(:template_selection); Travis::Features.enable_fo
## Define Custom Queues in the Management Console

After enabling the feature flags for custom queues, configure the job routing in the management console. This is defined in YAML, in the **Advanced Configuration YAML** section at the bottom of the management console **Settings** page, e.g. `https://<your-travis-ci-enterprise-domain>:8800/settings`.
Configure the job routing in the management console after enabling the feature flags for custom queues. This is defined in YAML, in the **Advanced Configuration YAML** section at the bottom of the management console **Settings** page, e.g., `https://<your-travis-ci-enterprise-domain>:8800/settings`.

There are a number of options/selectors used to define routing to a custom queue. Repos that match _all_ of the selectors for a custom queue will be built on that custom queue. We recommend using the following selectors:

Expand Down Expand Up @@ -51,7 +51,7 @@ See the [example](#advanced-configuration-yaml-example) for details on syntax. C
### Advanced Configuration YAML
The syntax for the **Advanced Configuration YAML** field is very important. Incorrect syntax will result in builds being routed to defaults, usually a `builds.linux` queue, depending on if there are any modifications to your installation. Here's an example of a custom queue definition:
The syntax for the **Advanced Configuration YAML** field is very important. An incorrect syntax will result in builds being routed to defaults, usually a `builds.linux` queue, depending on if there are any modifications to your installation. Here's an example of a custom queue definition:

```yaml
production:
Expand Down
6 changes: 3 additions & 3 deletions user/enterprise/focal.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ Please be sure to [install TCIE 3.x](/user/enterprise/tcie-3.x-setting-up-travis

**Worker Requirements**:

We recommend using a **compute optimized** machine with 8 vCPUs and ~16 GB of memory and at least 60 GB of disk space. Also, you'll want to run Ubuntu 20.04 or later. Port 22 must be open for SSH during installation and operation.
We recommend using a **compute optimized** machine with 8 vCPUs and ~16 GB of memory, and at least 60 GB of disk space. Also, you'll want to run Ubuntu 20.04 or later. Port 22 must be open for SSH during installation and operation.

> A single worker machine can only be used together with one build environment. If you would like to setup additional build environments (such as Xenial or Focal), please provision an additional machine.
> A single-worker machine can only be used together with one build environment. If you would like to set up additional build environments (such as Xenial or Focal), please provide an additional machine.
## Third-party apt repositories and services disabled by default

[Third party apt-repositories are removed](https://docs.travis-ci.com/user/reference/focal/#third-party-apt-repositories-removed) to help reduce risk of unrelated interference and allow for faster apt-get updates.
[Third-party apt-repositories are removed](https://docs.travis-ci.com/user/reference/focal/#third-party-apt-repositories-removed) to help reduce risk of unrelated interference and allow for faster apt-get updates.

[Services disabled by default](https://docs.travis-ci.com/user/reference/focal/#services-disabled-by-default) to speed up boot time and improve performance.

Expand Down
55 changes: 55 additions & 0 deletions user/enterprise/high-availability-tcie-2.x.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Enterprise High Availability Mode 2.x
layout: en_enterprise

---

## Travis CI Enterprise 2.x

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

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](mailto:enterprise@travis-cicom?subject:HA%20Mode), and we can discuss options and help you get started.

### Installation Overview

The platform installation is similar to the standard [Enterprise installation](/user/enterprise/setting-up-travis-ci-enterprise/#1-setting-up-enterprise-platform-virtual-machine), and the [worker installation](#installing-the-worker-in-high-availability-mode) is identical. However, there are some additional [system prerequisites](/user/enterprise/high-availability/), 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](https://redis.io/), [RabbitMQ](https://www.rabbitmq.com/),
and [Postgres](https://www.postgresql.org/) instances
* [GitHub OAuth app](/user/enterprise/setting-up-travis-ci-enterprise/#prerequisites), [trial license](/user/enterprise/setting-up-travis-ci-enterprise/#prerequisites) -- enabled for HA
* Internet connection -- note, this installation is _not_ airgapped by default. Let [us know](mailto:enterprise@travis-ci.com) if you are interested in one.

### Install 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](mailto:enterprise@travis-ci.com?subject=HA%20Installation) to have your Enterprise license configured for HA mode.
1. Set up your [platform instance using the standard installation steps](/user/enterprise/setting-up-travis-ci-enterprise/#1-setting-up-enterprise-platform-virtual-machine)
1. Sign in to your Admin Dashboard (at `https://<your-travis-ci-enterprise-domain>:8800`)
1. Go to 'Settings' and click 'Enable HA'.
1. Paste in the URLs where you have [Postgres](https://www.postgresql.org/), [Redis](https://redis.io/), and [RabbitMQ](https://www.rabbitmq.com/) hosted. The connection strings should be in the format of:
```
postgres://user:password@url:port
redis://user:password@url:port
amqps://user:password@url:port
```
1. Optional: Upload a RabbitMQ Client Certificate (`.crt`). This allows RabbitMQ to use TLS.
1. Scroll down to the bottom of the page.
1. 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](mailto:enterprise@travis-ci.com?subject=HA%20Troubleshooting) if you have questions.

#### Add 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](/user/enterprise/setting-up-travis-ci-enterprise/#1-setting-up-enterprise-platform-virtual-machine) the first.

Once your second platform is installed, its HA settings must also be 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-platform-in-high-availability-mode).

## Install the Worker in High Availability Mode (all versions)

The worker installation works the same as non-HA installations, as do the build environment compatibility defaults per the Enterprise version. Check out the docs for which version of Enterprise handles different OS's([TCIE 2.x](/user/enterprise/setting-up-travis-ci-enterprise/#2-setting-up-the-enterprise-worker-virtual-machine) or [TCIE 3.x](/user/enterprise/tcie-3.x-setting-up-travis-ci-enterprise/#2-setting-up-the-enterprise-worker-virtual-machine) and other information regarding the installation. You must retrieve your RabbitMQ password from your installation rather than the Travis CI Enterprise Admin Dashboard.


## Contact Enterprise Support

{{ site.data.snippets.contact_enterprise_support }}
Loading

0 comments on commit abd53fa

Please sign in to comment.