The Ubuntu 18.04 Build Environment
Bionic LTS Standard is EOL by Canonical, try updating to a newer image. It will be in use in Travis CI for some time more, but it’s time to consider migration of your builds to a newer build environment image. Additionally, Bionic won’t be receiving any new updates.
What This Guide Covers #
This guide provides an overview of the packages, tools, and settings available in the Bionic environment.
Using Ubuntu 18.04 (Bionic Beaver) #
To route your builds to Ubuntu 18.04 LTS, Bionic, add the following to your .travis.yml:
dist: bionic
Environment Common to All Ubuntu 18.04 Images #
All Ubuntu 18.04 builds include the following versions of Docker: version control software, compilers, and language support. All preinstalled software not provided by the distro is installed from an official release—either a prebuilt binary, if available, or a source release built with default options.
Version Control #
| Package | Version |
|---|---|
| git | 2.43.0 |
| git-lfs | 2.3.4 |
| hg | 5.3 |
| svn | 1.9.7 |
Compilers and Build Toolchain #
| Tool | Version |
|---|---|
| clang | 18.1.8 |
| cmake | 3.26.3 |
| gcc | 7.5.0 |
| ccache | 3.4.1 |
| ShellCheck | 0.10.0 |
| shfmt | 3.8.0 |
Docker and Container Tools #
| Package | Version |
|---|---|
| Docker | 24.0.2 (build cb74dfc) |
| docker-compose | v2.20.3 |
| Podman | 3.4.2 |
Ruby Support #
- Pre-installed Ruby:
ruby 3.3.5
- Other Ruby versions (e.g., 2.7.x, 3.1.x) can be installed during build time.
Python Support #
- Supported Python versions: 3.6 or higher.
The following Python versions are directly callable:
| Alias | Version |
|---|---|
| 3.6 | 3.6.9 |
| 3.7 | 3.7.17 |
| 3.8 | 3.8.18 |
| 3.12 | 3.12.4 |
JavaScript and Node.js Support #
- For builds specifying
language: node_js,nvmis automatically updated to the latest version at build time. - The default Node.js version available on the machine is:
v16.15.1
- Additional Node.js versions are available through nvm if configured.
Go Support #
- Pre-installed Go:
go version go1.23.6 linux/amd64
Additional Go versions can be installed during build time by specifying the language version with thego:key.
JVM (Clojure, Groovy, Java, Scala) Support #
- Pre-installed JVMs:
- Default Java:
openjdk version "11.0.21" 2023-10-17 LTS
- Default Java:
- Other JDKs, including Oracle’s, can be acquired if available by specifying the
jdkkey. - The following JVM tooling is preinstalled:
| Package | Version |
|---|---|
| Gradle | 8.3 |
| Maven | 3.9.4 |
| Groovy | 4.0.15 |
Perl Support #
- The default Perl version on Ubuntu 18.04 is provided by the system.
- Additional Perl versions can be installed using the
perl:key. - Tools like
TAP::Harnessandcpanmare also available.
PHP Support #
- For dynamic runtime selection,
phpenvis available. - The preinstalled PHP version on this image is:
PHP 7.2.27(CLI)
- If a different version is required, it can be installed during the build.
Extensions for PHP 7.2 and Higher #
The following extensions are preinstalled for PHP builds:
- apcu.so
- memcached.so (Not preinstalled for > PHP8.0)
- mongodb.so
- amqp.so
- zmq.so
- xdebug.so
- redis.so
Note: With the exception of xdebug, these extensions are not enabled by default.
Databases and Services #
The following services and databases are preinstalled but do not run by default. To use any in your build, add the service to your .travis.yml:
| Service | Version / Notes |
|---|---|
| MongoDB | v4.4.29 |
| MySQL | 5.7.42 |
| Redis | 7.2.5 |
| PostgreSQL | psql is not installed by default. Install using apt-get install postgresql-client-common if needed. |
Android Support #
For Android builds, the environment provides comprehensive support with the following pre-installed components:
- Android SDK Components – Installed components include:
toolsplatform-toolsbuild-tools;30.0.0platforms;android-30extras;google;google_play_servicesextras;google;m2repositoryextras;android;m2repository
To use Android, specify language: android in your .travis.yml and refer to the Android Build Environment Guide for additional configuration details.
Other Ubuntu Linux Build Environments #
For details on other Ubuntu Linux build environments available on Travis CI, please refer to the Ubuntu Linux overview page. ```