The Ubuntu 22.04 (Jammy Jellyfish) Build Environment
- What This Guide Covers
- Using Ubuntu 22.04 (Jammy Jellyfish)
- Differences from the previous release images
- Environment common to all Ubuntu 22.04 images
- Ruby support
- Python support
- Go support
- JVM (Clojure, Groovy, Java, Scala) support
- Perl support
- PHP support
- Databases and services
- Other Ubuntu Linux Build Environments
What This Guide Covers #
This guide provides an overview of the packages, tools and settings available in the Jammy Jellyfish environment.
Using Ubuntu 22.04 (Jammy Jellyfish) #
To route your builds to Ubuntu 22.04 LTS, Jammy, add the following to your
Differences from the previous release images #
Travis CI Ubuntu 22.04, Jammy, includes the following changes and improvements:
Third party apt-repositories removed #
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.
To specify a third party apt-repository, you can add the source with the apt addon and specify the packages. For example:
dist: jammy addons: apt: sources: - sourceline: 'ppa:chris-lea/redis-server' packages: - redis-tools - redis-server
If you depend on these repositories in your build, you can use the following
source line to get them back:
Services disabled by default #
On the Ubuntu 22.04 based environment, to speed up boot time and improve performance we’ve disabled all services by default.
Add any services that you want to start to your
services: - mysql - redis
Environment common to all Ubuntu 22.04 images #
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.
All preinstalled software not provided by distro is installed from an official release –
either a prebuilt binary if available, or a source release built with default options.
For preinstalled language interpreters, a standard version manager like
rvm is used if available for the language.
Version control #
Compilers and Build toolchain #
1.29.2is also available.
Ruby support #
- Pre-installed Rubies:
- The default ruby is
- Other ruby versions can be installed during build time.
Python support #
- Supported Python version is:
3.7.7or higher as
2.7has been sunsetted.
3.10.5will be used by default when no language version is explicitly set.
- The following Python versions are preinstalled:
- For builds specifying
nvmis automatically updated to the latest version at build time. For other builds, the stable version at image build time has been selected, which is
- The following NodeJS versions are preinstalled:
Go support #
Other Go versions can be installed during build time by specifying the language versions with the
JVM (Clojure, Groovy, Java, Scala) support #
openjdk17on x86, default is
Other JDKs, including Oracle’s, can be acquired if available by specifying
The following table summarizes the Pre-installed JVM tooling versions:
Perl support #
- Default version on Jammy is
- Supported versions
5.33can be installed by using the
PHP support #
- For dynamic runtime selection,
- The following PHP versions are preinstalled:
Databases and services #
The following services and databases are preinstalled but but do not run by default.
To use one in your build, add it to the services key in your
Other Ubuntu Linux Build Environments #
You can have a look at the Ubuntu Linux overview page for the different Ubuntu Linux build environments you can use.