Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go #3271

Open
wants to merge 2,711 commits into
base: Aaron1011-patch-1
Choose a base branch
from
Open

go #3271

Changes from 1 commit
Commits
Show all changes
2711 commits
Select commit Hold shift + click to select a range
b66f391
Update using-workspaces.md
nrios14 Nov 8, 2024
b3c7868
Update caching.md
nrios14 Nov 8, 2024
0fb8e50
Update for-beginners.md
nrios14 Nov 8, 2024
9982ebc
Update onboarding.md
nrios14 Nov 8, 2024
b241fd8
Update customizing-the-build.md
nrios14 Nov 8, 2024
9fcd325
Update build-config-imports.md
nrios14 Nov 8, 2024
2e4e201
Update build-config-validation.md
nrios14 Nov 8, 2024
1609fc0
Update cron-jobs.md
nrios14 Nov 8, 2024
ac96fbb
Update docker.md
nrios14 Nov 8, 2024
f5b07ab
Update pull-requests.md
nrios14 Nov 8, 2024
2c34ab8
Update common-build-problems.md
nrios14 Nov 8, 2024
7de9ad5
Update gui-and-headless-browsers.md
nrios14 Nov 8, 2024
9d32506
Update speeding-up-the-build.md
nrios14 Nov 8, 2024
eb40f99
Update apps.md
nrios14 Nov 8, 2024
675d086
Update build-config-yaml.md
nrios14 Nov 11, 2024
655b130
Update build-hacks.md
nrios14 Nov 11, 2024
14654c2
Update chrome.md
nrios14 Nov 11, 2024
fc779be
Update deployment-v2.md
nrios14 Nov 11, 2024
29e1095
Update conditions-v0.md
nrios14 Nov 11, 2024
16d758e
Update firefox.md
nrios14 Nov 11, 2024
11ad886
Update running-build-in-debug-mode.md
nrios14 Nov 11, 2024
ffc50f1
Update private-dependencies-gl.md
nrios14 Nov 11, 2024
a8e09ce
Update private-dependencies-assembla.md
nrios14 Nov 11, 2024
db3b92a
Update multi-platform-login.md
nrios14 Nov 11, 2024
32899f8
Update open_source_license.md
nrios14 Nov 11, 2024
ee4eaa4
Update overview.md
nrios14 Nov 11, 2024
2eeae20
Update precise-to-trusty-migration-guide.md
nrios14 Nov 11, 2024
331f5d6
Update hostname.md
nrios14 Nov 11, 2024
de8c94c
Update ibm-power.md
nrios14 Nov 11, 2024
2b63a9a
Update jwt.md
nrios14 Nov 11, 2024
4db152e
Update trusty-to-xenial-migration-guide.md
nrios14 Nov 11, 2024
d941116
Update travis-ci-vcs-proxy.md
nrios14 Nov 11, 2024
244128c
Update travis-ci-for-private.md
nrios14 Nov 11, 2024
47d99d0
Update what-is-travis.md
nrios14 Nov 11, 2024
90d5452
Update web-ui.md
nrios14 Nov 11, 2024
6f1a003
Update android.md
nrios14 Nov 11, 2024
c281656
Update c.md
nrios14 Nov 11, 2024
694c936
Update csharp.md
nrios14 Nov 11, 2024
1f2f1c2
Update cpp.md
nrios14 Nov 11, 2024
2c0a9e3
Update clojure.md
nrios14 Nov 11, 2024
aadb191
Update crystal.md
nrios14 Nov 11, 2024
0ea79a0
Update d.md
nrios14 Nov 11, 2024
7add0e2
Update crystal.md
nrios14 Nov 11, 2024
dce94b8
Update dart.md
nrios14 Nov 11, 2024
cee3624
Update crystal.md
nrios14 Nov 11, 2024
52b8e76
Update csharp.md
nrios14 Nov 11, 2024
be4c88f
Update d.md
nrios14 Nov 11, 2024
63e34f8
Update elixir.md
nrios14 Nov 11, 2024
01d37c6
Update elm.md
nrios14 Nov 11, 2024
f4084ed
Update erlang.md
nrios14 Nov 11, 2024
eed260b
Update go.md
nrios14 Nov 11, 2024
d59c323
Update groovy.md
nrios14 Nov 11, 2024
e212d9b
Update minimal-and-generic.md
nrios14 Nov 11, 2024
705d8a6
Update haskell.md
nrios14 Nov 11, 2024
a1884be
Update haxe.md
nrios14 Nov 11, 2024
f1ed760
Update community-supported-languages.md
nrios14 Nov 11, 2024
5a91e33
Update smalltalk.md
nrios14 Nov 11, 2024
14b9a80
Update scala.md
nrios14 Nov 11, 2024
b3fe3fb
Update rust.md
nrios14 Nov 11, 2024
29ba90e
Update android.md
nrios14 Nov 11, 2024
68b2858
Update rust.md
nrios14 Nov 11, 2024
527108a
Update ruby.md
nrios14 Nov 11, 2024
9c309cf
Update r.md
nrios14 Nov 11, 2024
386a9c6
Update smalltalk.md
nrios14 Nov 11, 2024
313a6b7
Update perl.md
nrios14 Nov 11, 2024
2ea1119
Update perl6.md
nrios14 Nov 11, 2024
2f50b21
Update python.md
nrios14 Nov 11, 2024
02bf22f
Update objective-c.md
nrios14 Nov 11, 2024
cb6d381
Update julia.md
nrios14 Nov 11, 2024
e4fc14b
Update matlab.md
nrios14 Nov 11, 2024
b438bd3
Update nix.md
nrios14 Nov 11, 2024
6b3b108
Update php.md
nrios14 Nov 11, 2024
c2d5b05
Update javascript-with-nodejs.md
nrios14 Nov 11, 2024
a42f412
Update java.md
nrios14 Nov 11, 2024
1133fa8
Merge branch 'master' into nrios14-patch-4
nrios14 Nov 11, 2024
8b5dab9
Merge pull request #3424 from travis-ci/DU22-Travis-Headings-Update
stan-travis Nov 12, 2024
d6deaae
Merge branch 'master' into DU-22/Heading-updates
nrios14 Nov 12, 2024
bf4231e
Add missing bracket
DominikAlberski Nov 12, 2024
c267085
Merge pull request #3422 from travis-ci/DU-22/Heading-updates
DominikAlberski Nov 12, 2024
0565838
Merge branch 'master' into nrios14-patch-4
nrios14 Nov 13, 2024
74cc3ee
Merge pull request #3407 from travis-ci/nrios14-patch-4
stan-travis Nov 13, 2024
34e8285
Update customizing-the-build.md
nrios14 Nov 13, 2024
0c9aa6a
Update speeding-up-the-build.md
nrios14 Nov 13, 2024
3034bda
Update gui-and-headless-browsers.md
nrios14 Nov 13, 2024
86f61d5
Update build-config-imports.md
nrios14 Nov 13, 2024
d0e82b3
Update build-matrix.md
nrios14 Nov 13, 2024
4c604d3
Update installing-dependencies.md
nrios14 Nov 13, 2024
5e8233f
Update caching.md
nrios14 Nov 13, 2024
ce1eef6
Update billing-overview.md
nrios14 Nov 13, 2024
7456f69
Update android.md
nrios14 Nov 14, 2024
78b0d12
Update csharp.md
nrios14 Nov 14, 2024
a93a270
Update d.md
nrios14 Nov 14, 2024
be533b2
Update objective-c.md
nrios14 Nov 14, 2024
dc06f9e
Update python.md
nrios14 Nov 14, 2024
4c34eac
Update smalltalk.md
nrios14 Nov 14, 2024
4dfbfd6
Update php.md
nrios14 Nov 14, 2024
85fd5da
Update sbom.md
nrios14 Nov 14, 2024
321f799
Update deepsource.md
nrios14 Nov 14, 2024
11000dd
Update coveralls.md
nrios14 Nov 14, 2024
e5934de
Update sonarcloud.md
nrios14 Nov 14, 2024
d63de08
Update atlas.md
nrios14 Nov 15, 2024
6ff2ad3
Update azure-web-apps.md
nrios14 Nov 15, 2024
e5c4bde
Update npm.md
nrios14 Nov 15, 2024
b46a089
Update rubygems.md
nrios14 Nov 15, 2024
0f5297a
Update javascript-with-nodejs.md
nrios14 Nov 15, 2024
3ee8b06
Update julia.md
nrios14 Nov 15, 2024
8f1b121
Update rust.md
nrios14 Nov 15, 2024
e2bb726
Update npm.md
nrios14 Nov 15, 2024
9a0e930
Update custom.md
nrios14 Nov 15, 2024
9bc4c30
Update conditional.md
nrios14 Nov 15, 2024
77afd41
Update database-setup.md
nrios14 Nov 18, 2024
9298734
Update azure-web-apps.md
nrios14 Nov 18, 2024
233250b
Update bintray.md
nrios14 Nov 18, 2024
1eb65eb
Update boxfuse.md
nrios14 Nov 18, 2024
e31d727
Update chefsupermarket.md
nrios14 Nov 18, 2024
73d716c
Update cloudfiles.md
nrios14 Nov 18, 2024
972977c
Update codedeploy.md
nrios14 Nov 18, 2024
f1d95f4
Update datica.md
nrios14 Nov 18, 2024
3f3597c
Update elasticbeanstalk.md
nrios14 Nov 18, 2024
1e3ffcc
Update engineyard.md
nrios14 Nov 18, 2024
33bab64
Update engineyard.md
nrios14 Nov 18, 2024
121d4de
Update firebase.md
nrios14 Nov 18, 2024
bf6bd81
Update gcs.md
nrios14 Nov 18, 2024
a5575dc
Update google-app-engine.md
nrios14 Nov 18, 2024
8973f1e
Update heroku.md
nrios14 Nov 18, 2024
dd3f7f1
Update netlify.md
nrios14 Nov 18, 2024
c5b515a
Update npm.md
nrios14 Nov 18, 2024
9815d6a
Update openshift.md
nrios14 Nov 18, 2024
85050d9
Update opsworks.md
nrios14 Nov 18, 2024
a7edfd4
Update packagecloud.md
nrios14 Nov 18, 2024
560a62f
Update pages.md
nrios14 Nov 18, 2024
5989cc7
Update puppetforge.md
nrios14 Nov 18, 2024
59d2a58
Update pypi.md
nrios14 Nov 18, 2024
6f325d1
Update releases.md
nrios14 Nov 18, 2024
eba9f50
Update rubygems.md
nrios14 Nov 18, 2024
88aa71d
Update s3.md
nrios14 Nov 18, 2024
fb3d7b4
Update script.md
nrios14 Nov 18, 2024
5152d31
Update snap.md
nrios14 Nov 18, 2024
c211066
Update surge.md
nrios14 Nov 18, 2024
2333991
Update gui-and-headless-browsers.md
nrios14 Nov 18, 2024
b178245
Update common-build-problems.md
nrios14 Nov 19, 2024
44bbdfb
Update multi-os.md
nrios14 Nov 19, 2024
c70dc48
Update uploading-artifacts.md
nrios14 Nov 19, 2024
5026555
Update private-dependencies.md
nrios14 Nov 19, 2024
f83e0f8
Update chefsupermarket.md
nrios14 Nov 19, 2024
bf88d11
Update private-dependencies-bb.md
nrios14 Nov 19, 2024
1cdd676
Update encrypting-files.md
nrios14 Nov 19, 2024
e268f1f
Update coverity-scan.md
nrios14 Nov 19, 2024
54a8a32
Update browserstack.md
nrios14 Nov 19, 2024
07761a8
Update triggering-builds.md
nrios14 Nov 19, 2024
5939472
Update clojure.md
nrios14 Nov 19, 2024
7d1827c
Merge pull request #3426 from travis-ci/DU27-update-codesnips
stan-travis Nov 19, 2024
ef0c934
Merge branch 'master' into Heading-Update-v2
nrios14 Nov 20, 2024
ac88b0b
Merge pull request #3427 from travis-ci/Heading-Update-v2
stan-travis Nov 21, 2024
db2ab84
Merge branch 'master' into da_test_240911
nrios14 Nov 26, 2024
19e3ebc
Merge pull request #3400 from travis-ci/da_test_240911
nrios14 Nov 26, 2024
d15867d
Merge branch 'master' into patch-1
nrios14 Nov 27, 2024
67793d1
Merge pull request #3253 from rptb1/patch-1
nrios14 Nov 27, 2024
6708d03
Update enterprise_sidebar.html
nrios14 Dec 2, 2024
ac04d49
Update high-availability.md
nrios14 Dec 2, 2024
7e40c00
Update user-management.md
nrios14 Dec 3, 2024
a5c428e
Update bionic.md
nrios14 Dec 3, 2024
863ad92
Update build-images.md
nrios14 Dec 3, 2024
bae05dc
Update custom-queues.md
nrios14 Dec 3, 2024
dfdb821
Update focal.md
nrios14 Dec 3, 2024
60da741
Update high-availability.md
nrios14 Dec 3, 2024
241c8b6
Update platform-tips.md
nrios14 Dec 3, 2024
6f28256
Update precise.md
nrios14 Dec 3, 2024
46978fd
Update setting-up-travis-ci-enterprise.md
nrios14 Dec 3, 2024
cd90023
Update setting-up-worker.md
nrios14 Dec 3, 2024
87cfcd3
Update ssl-certificate-management.md
nrios14 Dec 3, 2024
fcfa5b4
Update xenial.md
nrios14 Dec 3, 2024
2dcf824
Update workspaces-eom.md
nrios14 Dec 3, 2024
ff5220a
Update worker-configuration.md
nrios14 Dec 3, 2024
4b36ea7
Update worker-cli-commands.md
nrios14 Dec 3, 2024
fb07960
Update user-role-management.md
nrios14 Dec 3, 2024
5dfb865
Update user-management.md
nrios14 Dec 3, 2024
0633fd5
Update upgrading.md
nrios14 Dec 3, 2024
8c6d47e
Update trusty.md
nrios14 Dec 3, 2024
26f6db3
Update troubleshooting-guide.md
nrios14 Dec 3, 2024
ca498e0
Update tcie-3.x-upgrading.md
nrios14 Dec 3, 2024
aa428f1
Update tcie-3.x-overview.md
nrios14 Dec 3, 2024
b335b74
Update tcie-3.x-obtain-license.md
nrios14 Dec 3, 2024
c110acc
Update tcie-3.x-migrating-db-from-2.x-to-3.x.md
nrios14 Dec 3, 2024
7f81bb0
Update Multi-CPU-Builds.md
nrios14 Dec 3, 2024
35b392c
Update support-admin-tool.md
nrios14 Dec 3, 2024
659438b
Update tcie-3.x-setting-up-travis-ci-enterprise.md
nrios14 Dec 4, 2024
aac6dd6
Update platform-tips.md
nrios14 Dec 4, 2024
a738b43
Update platform-tips.md
nrios14 Dec 4, 2024
66c1d96
Create high-availability-tcie-2.x.md
nrios14 Dec 4, 2024
dfe8509
Create platform-tips-tcie-2.x.md
nrios14 Dec 4, 2024
261711f
Create operations-manual-tcie-2.x.md
nrios14 Dec 4, 2024
9e6b45b
Update enterprise_sidebar.html
nrios14 Dec 4, 2024
abd53fa
Merge pull request #3431 from travis-ci/DU-24/TCIE_DocUpdate
stan-travis Dec 11, 2024
5639b7a
Update open_source_license.md
nrios14 Dec 11, 2024
3f7a356
Update open_source_license.md
nrios14 Dec 11, 2024
e4426f0
Merge pull request #3436 from travis-ci/license-update
nrios14 Dec 11, 2024
d1707e2
GO docs update
smokodon Dec 16, 2024
3cf77a5
Merge pull request #3438 from travis-ci/kw-docs_update
stan-travis Dec 16, 2024
40a314e
Update go.md
smokodon Dec 23, 2024
ee84460
Syntax adjust
smokodon Dec 23, 2024
a73f72a
Syntax adjust
smokodon Dec 23, 2024
b405e42
Merge pull request #3444 from travis-ci/kw-go
stan-travis Jan 20, 2025
edf72ec
Update onboarding.md
nrios14 Jan 28, 2025
23a5afd
add `npx semantic-release` GitHub auth workaround
Montana Feb 14, 2025
3f054d1
docs: update FreeBSD CI documentation to 14.2
kamildevtactics Feb 19, 2025
7c04342
Update open_source_license.md
nrios14 Feb 21, 2025
c08d3c1
Merge pull request #3455 from travis-ci/km-TDOC-301
kamildevtactics Feb 24, 2025
50b3ea1
Merge branch 'master' into nrios14-patch-4
stan-travis Feb 24, 2025
b1efe26
Merge pull request #3456 from travis-ci/nrios14-patch-4
nrios14 Feb 24, 2025
186a4bb
Update onboarding.md
nrios14 Feb 24, 2025
9603907
Merge pull request #3458 from travis-ci/DU-38/remove-confirmation-email
stan-travis Feb 27, 2025
50c542f
Merge branch 'master' into TBT257/GitHub-Sync
stan-travis Feb 27, 2025
47b6ae7
Merge pull request #3449 from travis-ci/TBT257/GitHub-Sync
stan-travis Feb 27, 2025
18a83cd
docs: Update Android build documentation with current distributions a…
kamildevtactics Mar 4, 2025
a0cf5af
Update Ubuntu 18.04 Build Environment docs
kamildevtactics Mar 5, 2025
32f0d04
Update Ubuntu 20.04 Build Environment docs
kamildevtactics Mar 5, 2025
b0a290f
Update Ubuntu 22.04 Build Environment docs
kamildevtactics Mar 5, 2025
16a3cb3
Update bionic.md
nrios14 Mar 10, 2025
9b9c61e
Merge pull request #3461 from travis-ci/km-TDOC-106
kamildevtactics Mar 11, 2025
e7182a7
Merge branch 'master' into km-TDOC-324
kamildevtactics Mar 11, 2025
4ad2344
Merge pull request #3462 from travis-ci/km-TDOC-324
kamildevtactics Mar 11, 2025
0fd2b0c
Adding Ubuntu Noble
smokodon Mar 12, 2025
31ff1ee
Merge pull request #3464 from travis-ci/kw-2024
stan-travis Mar 13, 2025
7642321
Update onboarding.md
nrios14 Mar 17, 2025
f59b324
Update for-beginners.md
nrios14 Mar 17, 2025
b68600c
Update customizing-the-build.md
nrios14 Mar 17, 2025
751eb03
Update gui-and-headless-browsers.md
nrios14 Mar 17, 2025
8178446
Update common-build-problems.md
nrios14 Mar 17, 2025
1c61f0b
Update installing-dependencies.md
nrios14 Mar 17, 2025
f225a59
Update caching.md
nrios14 Mar 17, 2025
5e3f49f
Update c.md
nrios14 Mar 17, 2025
57cb336
Update cpp.md
nrios14 Mar 17, 2025
08ca5fa
Update objective-c.md
nrios14 Mar 17, 2025
eb091b4
Update python.md
nrios14 Mar 17, 2025
b9fe279
Update r.md
nrios14 Mar 17, 2025
f066363
Update overview.md
nrios14 Mar 17, 2025
524878d
Update osx.md
nrios14 Mar 17, 2025
c44a64c
Update multi-os.md
nrios14 Mar 17, 2025
074bcfe
Update build-environment-updates.md
nrios14 Mar 17, 2025
8e72fa3
Update ip-addresses.md
nrios14 Mar 17, 2025
d7f6d5c
Update coverity-scan.md
nrios14 Mar 17, 2025
f8cdbe9
Update cc-menu.md
nrios14 Mar 17, 2025
3b62d0d
Update apps.md
nrios14 Mar 17, 2025
a6b8098
Update billing-overview.md
nrios14 Mar 17, 2025
6dcae6a
Merge branch 'master' into DU-35/Remove-mac
nrios14 Mar 17, 2025
4986783
chore(docs): streamline and modify documentation
kamildevtactics Mar 20, 2025
6d0ace2
Merge pull request #3467 from travis-ci/km-TDOC-343-v2
kamildevtactics Mar 24, 2025
a5069fa
Merge branch 'master' into DU-35/Remove-mac
stan-travis Mar 24, 2025
5043212
Merge pull request #3465 from travis-ci/DU-35/Remove-mac
stan-travis Mar 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Create operations-manual-tcie-2.x.md
  • Loading branch information
nrios14 authored Dec 4, 2024
commit 261711f80f4b41a9d2f613a586c1b768e597e615
379 changes: 379 additions & 0 deletions user/enterprise/operations-manual-tcie-2.x.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,379 @@
---
title: TCIE 2.x Operations Manual
layout: en_enterprise

---

## User Management Commands in TCIE 2.x

Travis CI Enterprise (TCIE) version 2.x has the following user management options.

These commands are run via the command line on the platform instance.

### User Information

List basic information about users and their status.

`travis users` - list every user.

`travis users --active` - list every active user.

`travis users --suspended` - list every suspended user.

### Suspend and Unsuspend Users in TCIE 2.x

Suspend or unsuspend users. Builds triggered by suspended users are blocked by `travis-gatekeeper`.

`travis suspend <login>` - suspend a user where `<login>` is the user's GitHub login.

`travis unsuspend <login>` - unsuspend a user where `<login>` is the user's GitHub login.

**Please note**: Using the `suspend` command does not restrict access to the Enterprise platform.
It removes a seat restriction for an archived user. If a *suspended* user logs into the platform, the seat restriction will be imposed again.

### Syncing a User in TCIE 2.x

To sync a user (not technically part of User Management, but a related task):

To sync one user: `travis sync_users --logins=<login>`

To sync all users: `travis sync_users`.

## Travis CI Enterprise 2.x SSL Certificate Management

This section contains information about SSL certificates and their use in Travis CI Enterprise (TCIE).

By default, Travis CI Enterprise verifies SSL for all traffic between internal platform components, RabbitMQ, and, e.g., github.com/Github Enterprise. SSL verification helps to ensure that traffic is delivered securely.

> It is **strongly recommended** that you configure your installation with a valid certificate from a trusted authority.

### Use a trial license in TCIE 2.x

When prompted to provide a custom SSL certificate during installation, you can select the 'Use Self-Signed Cert' option.

### Disable SSL Verification in TCIE 2.x

To disable SSL verification in Travis CI Enterprise 2.x:

1. Log into your dashboard at `https://<your-travis-ci-enterprise-domain>:8800`.
2. Click on 'Settings' in the topmost menu.
3. Click 'Advanced Settings' in the left menu (or scroll down).
4. Check the box for 'Disable SSL cert verification'.
5. Click 'Save' at the bottom of the page.

> Please note that this will require a restart of Travis CI Enterprise to take effect and may cause brief downtime.

This will remove SSL verification checks with internal traffic between Travis CI components. This will also cause all repository hooks created on GitHub to turn off SSL verification for traffic coming to Travis CI.

> Please note that this setting will only apply to hooks created _after_ the setting was enabled.

### Add or Update Certificates in TCIE 2.x

To upload your certificates:

1. Log into your dashboard at `https://<your-travis-ci-enterprise-domain>:8800`.
2. Click the gear icon on the rightmost side of the top menu and select 'Console Settings' from the dropdown.
3. Click 'TLS Key & Cert' in the left menu (or scroll down).
4. Select the appropriate option depending on the location of your certificate files.
5. Enter the paths or select the files to upload.
6. Click 'Save' at the bottom of the page.

> Please note that this will require a restart of Travis CI Enterprise to take effect and may cause brief downtime.

> A valid x509 certificate and private key files are required. The certificate and key must be in PEM format. The key must be unencrypted.

### Intermediate Certificate Chains in TCIE 2.x

To add your certificate chain:

1. Log into your dashboard at `https://<your-travis-ci-enterprise-domain>:8800`.
2. Click on 'Settings' in the topmost menu.
3. Click 'Advanced Settings' in the left menu (or scroll down).
4. Copy and paste your certificate chain into the text box labeled 'Custom Certificate Authority (CA) Bundle'.
5. Click 'Save' at the bottom of the page.

> Please note that this will require a restart of Travis CI Enterprise to take effect and may cause a brief downtime.

Upon restart, you can verify whether SSL verification is working. If you are still experiencing trouble after setting the chain, please contact us at [[email protected]](mailto:[email protected]) for assistance.


### How to use a Let's Encrypt SSL Certificate in TCIE 2.x

You can use a certificate from [Let's Encrypt](https://letsencrypt.org/) instead of a self-signed certificate or a certificate purchased from a trusted certificate authority. Certificates from Let's Encrypt are free and behave the same as those purchased from a trusted certificate authority.

What you will need:

- An email address (Let's Encrypt will send notifications regarding urgent renewal and security issues).
- A domain name under which your installation is available.

#### Install certbot in TCIE 2.x

We will be using [certbot](https://certbot.eff.org/#ubuntutrusty-other) to obtain an SSL certificate from Let's Encrypt. To install certbot:

1. Open an SSH connection to the platform machine.
2. Add the certbot personal package archive:
```bash
sudo add-apt-repository ppa:certbot/certbot
```
3. Update available packages:
```bash
sudo apt-get update
```
3. Install required certbot dependency:
```bash
sudo apt-get install software-properties-common
```
5. Install the certbot package:
```bash
sudo apt-get install certbot
```

#### Generate a new Let's Encrypt certificate in TCIE 2.x

The certbot tool offers multiple ways to obtain a certificate. We'll pick the 'temporary webserver' option since it requires no additional setup or configuration. The only prerequisite is that the Travis CI Enterprise container must be stopped so that the certbot webserver can bind properly to port 443.

> Your Travis CI Enterprise instance will be unavailable during this process.

Follow these steps to generate a new Let's Encrypt certificate.

1. Open an SSH connection to the platform machine.
2. Stop your Travis CI Enterprise:
```bash
replicatedctl app stop
```
3. Start the interactive certificate process:
```bash
sudo certbot certonly
```
4. Add the prompt, select option `1` to `Spin up a temporary webserver`:
```bash
How would you like to authenticate with the ACME CA?
-------------------------------------------------------------------------------
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
-------------------------------------------------------------------------------
Select the appropriate number [1-2], then [enter] (press 'c' to cancel): 1
```
5. Fill in your email address:
```bash
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
```
6. Accept the Terms of Services:
```bash
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A
```
7. Decide if you'd like to share your email address with the EFF (this decision has no effect on your certificate or your Travis CI Enterprise instance):
```bash
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you an email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: N
```
8. Provide your domain name:

```bash
Please enter your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel): <your-travis-ci-enterprise-domain>
```
9. Upon successful completion, you should see a message similar to the following:

```bash
IMPORTANT NOTES:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/<your-travis-ci-enterprise-domain>/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/<your-travis-ci-enterprise-domain>/privkey.pem
Your cert will expire on 2018-02-07. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
```

10. Restart your Travis CI Enterprise instance:

```bash
replicatedctl app start
```

Your certificate is now generated and saved on your Travis CI Enterprise platform machine. However, you must take additional steps to configure your Travis CI Enterprise instance to use the new certificate. For instructions, please see the [Using a Let's Encrypt certificate](#using-a-lets-encrypt-certificate) section.

#### Let's Encrypt certificate in TCIE 2.x

> Your Travis CI Enterprise instance will be unavailable during this process.

To use your generated certificate in your Travis CI Enterprise 2.x instance:

1. Log into your dashboard at `https://<your-travis-ci-enterprise-domain>:8800`.
2. On the rightmost side of the top menu, click the gear icon and select 'Console Settings' from the dropdown.
3. Click 'TLS Key & Cert' in the left menu (or scroll down).
4. Select the 'Server path' option.
5. Enter the paths to your certificate provided in the certbot output above. Example:
```
- SSL Private Key Filename: `/etc/letsencrypt/live/<your-travis-ci-enterprise-domain>/privkey.pem`
- SSL Certificate Filename: `/etc/letsencrypt/live/<your-travis-ci-enterprise-domain>/fullchain.pem`
```
6. Click 'Save' at the bottom of the page.
7. Open an SSH connection to the platform machine.
8. Stop your Travis CI Enterprise instance:
```bash
replicatedctl app stop
```
9. Restart your Travis CI Enterprise instance:
```bash
replicatedctl app start
```

### Renew the Let's Encrypt Certificate for TCIE 2.x

> Your Travis CI Enterprise instance will be unavailable during this process.

To manually renew your certificate for another 90 days:

1. Open an SSH connection to the platform machine.
2. Stop your Travis CI Enterprise instance:
```bash
replicatedctl app stop
```
3. Perform the certificate renewal:
```bash
sudo certbot renew
```
4. Restart your Travis CI Enterprise instance:
```bash
replicatedctl app start
```

### Use Cron Jobs to Automate the renewal of the Let's Encrypt SSL Certificate in TCIE2.x

You can avoid manual renewals by using a cron job to automate the certbot renewal:

1. Create `/home/ubuntu/renew-certs.sh` containing the following script:

```bash
#!/bin/bash

set -u

function usage() {
echo
echo "Usage: $(basename $0)"
echo
echo "Simple script to renew certs, should be used via a cron. Assumes that certs are already set up."
echo
echo "See https://docs.travis-ci.com/user/enterprise/platform-tips/#use-a-lets-encrypt-ssl-certificate for initial setup info."
echo

exit 1
}

if [[ $# -ne 0 ]]; then
usage
fi

replicatedctl app stop
sudo certbot renew
replicatedctl app start
```
{: data-file="/home/ubuntu/renew-certs.sh"}

2. Make the script executable:

```sh
$ chmod +x /home/ubuntu/renew-certs.sh
```

3. Create a cronjob by editing `/etc/crontab` and appending the following:

```sh
# Renews certs at 2 am on the 1st of February, May, August, and November.
# Please change the configuration that applies to the certificate you are creating.
0 2 1 2,5,8,11 * /home/ubuntu/renew-certs.sh
```
{: data-file="/etc/crontab"}

> This process will introduce a small downtime while the certificates are renewed. We recommend that you communicate with your users before each renewal so they know that their builds will temporarily be stopped until the certificate is renewed.

## Travis CI Enterprise 2.x Troubleshooting

This section provides guidelines and suggestions for troubleshooting your Travis CI Enterprise installation.

Throughout this document, we'll be using the following terms to refer to the two components of your Travis CI Enterprise 2.x installation:

- `Platform machine`: The instance that runs the main Travis components, including the web frontend.
- `Worker machine`: The worker instance(s) that process and run the builds.

> This guide is geared towards non-High Availability (HA) setups. Please contact us at [[email protected]](mailto:[email protected]) if you require support for your HA setup.

### Issue when running Enterprise v2.2 or higher

By default, the Enterprise Platform v2.2 or higher will attempt to route builds to the `builds.trusty` queue. This could lead to build issues if you are not running a Trusty worker to process those builds or targeting a different distribution (e.g., `xenial`).

To address this, either:

- Ensure that you have installed a Trusty worker on a new virtual machine instance: [Trusty installation guide](/user/enterprise/trusty/)
- Override the default queuing behavior to specify a new queue. To override the default queue, you must access the Admin Dashboard at `https://<your-travis-ci-enterprise-domain>:8800/settings#override_default_dist_enable` and toggle the 'Override Default Build Environment' button. This will allow you to specify the new default based on your needs and the workers that you have available.

### Enterprise Container Fails to Start due to 'context deadline exceeded' Error

After a fresh installation or configuration change, the Enterprise container doesn't start, and the following error is visible in the Admin Dashboard found at `https://<your-travis-ci-enterprise-domain>:8800/dashboard`:

```
Ready state command canceled: context deadline exceeded
```

### User Accounts Stuck in Syncing State

One or more user accounts are stuck in the `is_syncing = true` state. When you query the database, the number of currently syncing users does not decrease over time. Example:

```sql
travis_production=> select count(*) from users where is_syncing=true;
count
-------
1027
(1 row)
```
#### Workaround

**TCIE 2.x**: Log into the platform machine via SSH. Run `$ travis console`

Next, run:

```bash
>> User.where(is_syncing: true).count
>> ActiveRecord::Base.connection.execute('set statement_timeout to 60000')
>> User.update_all(is_syncing: false)
```

It can happen that organizations are also stuck in the syncing state. Since an organization does not have an `is_syncing` flag, all users that belong to it must be successfully synced.

### Logs contain GitHub API 422 errors

On every commit made when a build runs, a commit status is created for a given SHA. Due to GitHub’s limitations at 1,000 statuses per SHA and context within a repository, if more than 1,000 statuses are created, this leads to a validation error.
This issue should no longer be present in GitHub Apps integrations but will be present in Webhooks integrations.

#### Workaround

The workaround for this issue is to manually re-sync the user account with GitHub. This will generate a fresh token for the user account that has not reached any GitHub API limits.

An administrator can also initiate a sync on behalf of someone else. Follow these steps to sync the account from the CLI with administrator privileges.

**TCIE 2.x**: via the `travis` CLI tool on the platform machine:

> If `—logins=<GITHUB-LOGIN>` is not provided, then this command will trigger a sync on every user. This could result in long runtimes and may impact production operations if you have many total users on your Travis CI Enterprise instance.

1. Open an SSH connection to the platform machine.
2. Initiate a sync by running `travis sync_users —logins=<GITHUB-LOGIN>`

## Contact Enterprise Support

{{ site.data.snippets.contact_enterprise_support }}