Ubuntu 18.04 image

Overview

The ubuntu1804 image is based on Ubuntu 18.04 LTS. The user in the environment is named semaphore, and has full sudo access.

Image name: ubuntu1804

This image can be paired with Linux machine types when defining the agent of your pipeline or block.

The ubuntu1804 Virtual Machine uses an APT mirror that is in the same data center as our build cluster, which means that caching packages will have little effect.

Version control

Following version control tools are pre-installed:

  • Git (2.x)
  • Git LFS (Git Large File Storage)
  • Mercurial (4.5.x)
  • Svn (1.9.x)

Browsers and Headless Browser Testing

  • Firefox 60.1
  • geckodriver 0.21.0
  • Google Chrome 72
  • chrome_driver 2.46
  • xvfb (X Virtual Framebuffer)

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

Docker toolset is installed and following versions are available:

  • Docker 18.06
  • docker-compose 1.22.0

Cloud CLIs

  • aws-cli
  • eb-cli
  • ecs-cli
  • gcloud
  • kubectl
  • heroku

Network utilities

  • httpie
  • curl
  • rsync

Databases and services

Databases run in the same environment as your code. You can start a local database service using the sem-service tool:

sem-service start mysql
sem-service start postgres
sem-service start redis
sem-service start memcached
sem-service start mongodb
sem-service start elasticsearch

Credentials:

  • The default MySQL username is root and password is blank.
  • The default PostgreSQL username is postgres and password is blank.

Services are not automatically shared across blocks. To do that, start services within the prologue property of each task and populate data as needed.

Languages

Erlang and Elixir

Erlang versions are installed and managed via kerl. Elixir versions are installed with kiex.

  • Erlang: 20.3, 21.0
  • Elixir: 1.7.3

Additional libraries:

  • rebar: 2.6.4
  • rebar3: 3.6.1

Go

Versions:

  • 1.10
  • 1.11
  • 1.12

Java and JVM languages

  • Java: 8u201, 10.0.2, 11.0.2
  • Scala: 2.11.11, 2.12.6
  • Leiningen: 2.9.1 (Clojure)
  • sbt

Additional build tools

  • Maven: 3.5.4
  • Gradle: 5.2

JavaScript via Node.js

Node.js versions are managed by nvm. You can install any version you need with nvm install [version]. Installed version:

  • v8.11.3 (set as default, with alias 8.11)

Additional tools

  • Yarn: 1.13.0
  • Bower: 1.8.8

PHP

PHP versions are managed by phpbrew. Installed versions:

  • 5.6.38
  • 7.0.32
  • 7.1.23
  • 7.2.10
  • 7.3.0

The default installed PHP version is 7.2.10.

Additional libraries

phpunit: 6.3

Python

Python versions are installed and managed by virtualenv. Installed versions:

  • 2.7
  • 3.7

Supporting libraries:

  • pypy: 5.8.0
  • pypy3: 5.8.0
  • pip: 19.0
  • venv: 16.0.0

Ruby

Ruby versions are managed by sem-version. Installed versions:

  • 1.8.7
  • 1.9.2
  • 1.9.3
  • 2.0.0
  • 2.1.0 to 2.1.10
  • 2.2.0 to 2.2.10
  • 2.3.0 to 2.3.8
  • 2.4.0 to 2.4.5
  • 2.5.0 to 2.5.3
  • 2.6.0
  • 2.6.1
  • jruby-9.1.17.0

See Also

Still need help? Contact Us Contact Us