Skip to content

Commit 4c7fce7

Browse files
authored
Merge pull request #3201 from travis-ci/jammy-docs
Adding Jammy docs
2 parents 6c84a0e + 4fcec02 commit 4c7fce7

File tree

2 files changed

+181
-0
lines changed

2 files changed

+181
-0
lines changed

user/reference/jammy.md

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
title: The Ubuntu 22.04 (Jammy Jellyfish) Build Environment
3+
layout: en
4+
---
5+
6+
## What This Guide Covers
7+
8+
This guide provides an overview of the packages, tools and settings available in the Jammy Jellyfish environment.
9+
10+
## Using Ubuntu 22.04 (Jammy Jellyfish)
11+
12+
To route your builds to Ubuntu 22.04 LTS, Jammy, add the following to your `.travis.yml`:
13+
14+
```yaml
15+
dist: jammy
16+
```
17+
{: data-file=".travis.yml"}
18+
19+
20+
## Differences from the previous release images
21+
22+
Travis CI Ubuntu 22.04, Jammy, includes the following changes and improvements:
23+
24+
### Third party apt-repositories removed
25+
26+
While third party apt-repositories are used during the image provisioning, they are all removed from the build image. This has two benefits; a) reduced risk of unrelated interference and b) faster apt-get updates.
27+
28+
To specify a third party apt-repository, you can [add the source with the apt addon](/user/installing-dependencies/#adding-apt-sources) and specify the packages. For example:
29+
30+
```yaml
31+
dist: jammy
32+
addons:
33+
apt:
34+
sources:
35+
- sourceline: 'ppa:chris-lea/redis-server'
36+
packages:
37+
- redis-tools
38+
- redis-server
39+
```
40+
{: data-file=".travis.yml"}
41+
42+
If you depend on these repositories in your build, you can use the following `source` line to get them back:
43+
44+
| package | source |
45+
|:---------------------|:-----------------------------|
46+
| docker | `deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable` |
47+
| google-chrome-stable | `deb http://dl.google.com/linux/chrome/deb/ stable main` |
48+
| git-ppa | `ppa:git-core/ppa` |
49+
| haskell | `ppa:hvr/ghc` |
50+
| pollinate | `ppa:pollinate/ppa` |
51+
| redis | `ppa:chris-lea/redis-server` |
52+
{: style="width: 80%" }
53+
54+
### Services disabled by default
55+
56+
On the Ubuntu 22.04 based environment, to speed up boot time and improve performance we've disabled all services by default.
57+
Add any services that you want to start to your `.travis.yml`:
58+
59+
60+
```yaml
61+
services:
62+
- mysql
63+
- redis
64+
```
65+
{: data-file=".travis.yml"}
66+
67+
## Environment common to all Ubuntu 22.04 images
68+
69+
The following versions of Docker, version control software and compilers are present on all Ubuntu 22.04 builds, along with more language specific software described in more detail in each language section.
70+
71+
All preinstalled software not provided by distro is installed from an official release --
72+
either a prebuilt binary if available, or a source release built with default options.
73+
For preinstalled language interpreters, a standard version manager like `rvm` is used if available for the language.
74+
75+
### Version control
76+
77+
| package | version |
78+
|:--------|:---------|
79+
| git | `2.36.1` |
80+
| git-lfs | `3.0.2` |
81+
| hg | `5.3` |
82+
| svn | `1.14.1` |
83+
{: style="width: 30%" }
84+
85+
### Compilers and Build toolchain
86+
87+
| package | version |
88+
|:--------|:---------|
89+
| clang | `7.0.0` |
90+
| llvm | `14.0.0` |
91+
| cmake | `3.16.8` |
92+
| gcc | `11.2.0` |
93+
| ccache | `4.5.1` |
94+
| shellcheck | `0.7.2` |
95+
| shfmt | `3.2.1` |
96+
{: style="width: 30%" }
97+
98+
99+
### Docker
100+
101+
* Docker `20.10.12` is installed.
102+
* docker-compose `1.29.2` is also available.
103+
104+
## Ruby support
105+
106+
* Pre-installed Rubies: `3.0.4`, `3.1.2`.
107+
* The default ruby is `3.1.2`.
108+
* Other ruby versions can be installed during build time.
109+
110+
## Python support
111+
112+
* Supported Python version is: `3.7.7` or higher as `2.7` has been sunsetted.
113+
* Python `3.10.5` will be used by default when no language version is explicitly set.
114+
* The following Python versions are preinstalled:
115+
116+
| alias | version |
117+
| :----- | :------- |
118+
| `3.7` | `3.7.7` |
119+
| `3.8` | `3.8.3` |
120+
| `3.9` | `3.9.13` |
121+
| `3.10` | `3.10.5` |
122+
{: style="width: 30%" }
123+
124+
125+
## JavaScript and Node.js support
126+
127+
* For builds specifying `language: node_js`, `nvm` is automatically updated to the latest version at build time. For other builds, the stable version at image build time has been selected, which is `0.39.1`.
128+
* The following NodeJS versions are preinstalled: `14.18.1`, `16.13.0` and `17.1.0`.
129+
130+
## Go support
131+
132+
* Pre-installed Go: `1.18.3`.
133+
134+
* Other Go versions can be installed during build time by specifying the language versions with the `go:`-key.
135+
136+
## JVM (Clojure, Groovy, Java, Scala) support
137+
138+
* Pre-installed JVMs: `openjdk11`, and `openjdk17` on x86, default is `openjdk11`.
139+
140+
* Other JDKs, including Oracle's, can be acquired if available by specifying `jdk`.
141+
142+
* The following table summarizes the Pre-installed JVM tooling versions:
143+
144+
| package | version |
145+
|:--------|:--------|
146+
| gradle | `5.1.1` |
147+
| maven | `3.6.3` |
148+
| groovy | `2.4.21`|
149+
{: style="width: 30%" }
150+
151+
## Perl support
152+
153+
* Default version on Jammy is `5.34.0`
154+
* Supported versions `5.33` can be installed by using the `perl:`-key.
155+
156+
## PHP support
157+
158+
* For dynamic runtime selection, `phpenv` is available.
159+
* The following PHP versions are preinstalled:
160+
161+
| alias | version |
162+
| :----- | :------- |
163+
| `8.1` | `8.1.2` |
164+
{: style="width: 30%" }
165+
166+
## Databases and services
167+
168+
The following services and databases are preinstalled but but do not run by default.
169+
To use one in your build, add it to the services key in your `travis.yml` :
170+
171+
| service | version |
172+
|:-----------|:---------------|
173+
| mysql | `8.0.29` |
174+
| redis | `6.0.6` |
175+
| postgresql | `14.3` |
176+
{: style="width: 30%" }
177+
178+
## Other Ubuntu Linux Build Environments
179+
180+
You can have a look at the [Ubuntu Linux overview page](/user/reference/linux) for the different Ubuntu Linux build environments you can use.

user/reference/linux.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ layout: en
99
This page gives an overview of the different Ubuntu Linux distributions you can use as your CI environment.
1010

1111
You can choose one of the following distributions:
12+
* [Ubuntu Jammy 22.04](/user/reference/jammy/)
1213
* [Ubuntu Focal 20.04](/user/reference/focal/)
1314
* [Ubuntu Bionic 18.04](/user/reference/bionic/)
1415
* [Ubuntu Xenial 16.04](/user/reference/xenial/) **default**

0 commit comments

Comments
 (0)