Ubuntu 22.04 Image#
Available on: Startup Scaleup
ubuntu2204 image is in the Technical Preview stage. Documentation and the image itself are subject to change.
ubuntu2204 image is a customized image based on Ubuntu 22.04 LTS, which has been
optimized for CI/CD. It comes with a set of preinstalled languages, databases,
and utility tools commonly used for CI/CD workflows.
Please note that the image is only available for our newer generation agent type:
e2-standard-2 when defining the agent
of your pipeline or block.
ubuntu2204 image is a virtual machine (VM) image. The user in the environment,
semaphore, has full
sudo access. The image will be updated bi-weekly, on the first and third Mondays of every month.
Updates can be followed on the Semaphore Changelog.
ubuntu2204 VM uses an APT mirror located in the same data center as
Semaphore's build cluster, which means that caching packages will have little
Using the ubuntu2204 image in your agent configuration#
To use the
ubuntu2204 image, define it as the
os_image of your agent's
machine, as shown below:
version: 1.0 name: Ubuntu2204 Based Pipeline agent: machine: type: e2-standard-2 os_image: ubuntu2204 blocks: - name: "Unit tests" task: jobs: - name: Tests commands: - make test
ubuntu2204 image comes with two utility tools. One for managing background
services and databases, and one for managing language versions.
- sem-service: Managing databases and services on Linux
- sem-version: Managing language version on Linux
Following version control tools are pre-installed:
- Git 2.39.2
- Git LFS (Git Large File Storage) 3.3.0
- GitHub CLI 2.23.0
Browsers and Headless Browser Testing#
- Firefox 102.5 (
- Geckodriver 0.26.0
- Google Chrome 110
- ChromeDriver 110
- Xvfb (X Virtual Framebuffer)
- Phantomjs 2.1.1
Chrome and Firefox both support headless mode. You shouldn't need to do more than install and use the relevant Selenium library for your language. Refer to the documentation of associated libraries when configuring your project.
Docker toolset is installed and the following versions are available:
- Docker 20.10.18
- Docker-compose 1.29.2 (used as
- Docker-compose 2.15.1 (used as
docker compose version)
- Docker-machine 0.16.2
- Dockerize 0.6.1
- Buildah 1.23.1
- Podman 3.4.4
- Skopeo 1.4.1
- Aws-cli v1 (used as
- Aws-cli v2 (used as
- Azure-cli 2.45.0
- Eb-cli 3.20.3
- Doctl 1.92.0
- Gcloud 420.0.0
- Gke-gcloud-auth-plugin 420.0.0
- Heroku 7.68.2
- Terraform 1.3.7
- Helm 3.11.1
- Httpie 3.2.1
- gcc: 11 (default), 12
Erlang and Elixir#
Erlang versions are installed and managed via kerl. Elixir versions are installed with kiex.
- Erlang: 25.2.2
- Elixir: 1.14.3
- Rebar3: 3.18.0
- 1.20.x (1.20 as default)
Java and JVM languages#
- Java: 17 (OpenJDK)
- Scala: 3.2.2
- Leiningen: 2.10.0 (Clojure)
- Sbt 1.8.2
Additional build tools#
- Maven: 3.6.3
- Gradle: 7.4.2
- Bazel: 6.0.0
Node.js versions are managed by nvm.
You can install any version you need with
nvm install [version].
- v18.12.1includes npm 8.19.2
- Yarn: 1.22.19
PHP versions are managed by phpbrew. Installed versions:
The default installed PHP version is
Python versions are installed and managed by virtualenv. Installed versions:
- pypy: 7.3.9
- pypy3: 7.3.11
- pip: 23.0
- venv: 20.17.1
Installing dependencies with apt package manager#
The Semaphore Ubuntu:22.04 image has most of the popular programming languages, tools and databases preinstalled.
If the dependency you need is not present in the list above, you can install it with the Ubuntu package manager, or using an alternative method such as compiling it from the source or manually downloading binaries.
To install dependecies using the package manager (
apt-get) you can use the
template command below and add it to your pipeline:
sudo apt-get update sudo apt-get install -y [your-dependency]
Due to occasional issues with some of the repositories that break the pipeline during
apt-get update command, the following sources lists have been moved to
If you need any of these before running the
apt-get update command, please move them to the
sudo mv /etc/apt/sources.list.d/disabled/git.list /etc/apt/sources.list.d/ sudo apt-get update