Every build and deployment on Semaphore runs in an isolated virtual machine, based on Ubuntu 14.04 LTS 64-bit or Ubuntu 16.04 LTS 64-bit, depending on the selected platform type. This page describes the out-of-the-box software stack and the difference between platform types.
The timezone in the Semaphore environment is set to UTC. To find out how to change this value visit this page.
The platform can be changed in Project Settings > Platform.
The Standard platform ships with a number of pre-installed languages, DB backends, and libraries. It's the go-to platform if you want a fully configured CI environment, with minimal setup from your side.
Semaphore provides first-class support for the following programming languages:
Note that applications in any programming language can be configured manually in project settings. If you would like a language which is not listed above to be supported out of the box, please send us email or install it manually.
Besides using the language which is selected in the project settings, you can utilize any combination of languages and versions from the table bellow. For example, to use Node.js 5.6.0 with a project which is not configured as such, add a following line as a setup command.
nvm use 5.6.0
To find more information about managing different language versions on Semaphore, please refer to the corresponding language page.
Name | Version |
---|---|
Ansible | 2.6.4 |
Apache HTTP server | 2.4.7 |
Boost C++ libraries | 1.54.0.1 |
Cassandra | 3.11.3 |
Chrome | 69.0.3497.92 |
ChromeDriver | 2.41 |
ElasticSearch | 5.4.3 |
Elixir |
1.0.5 1.1.1 1.3.4 1.4.5 1.5.3 (default) 1.6.6 1.7.3 |
Erlang |
18.3 19.3 20.3 (default) 21.0 |
Firefox |
34.0 (default) 38.8.0 ESR 45.9.0 ESR 52.2.0 ESR 60.1.0 ESR |
geckodriver | 0.21.0 (default) |
gcc |
4.6.4 4.7.3 4.8.4 4.9.4 |
Git | 2.19.0 |
Git LFS | 2.5.1 |
Go |
1.4.3 (default) 1.5.4 1.6.4 1.7.6 1.8.6 1.9.7 1.10.3 1.11 |
Gradle | 4.1 |
Heroku CLI | 7.15.2 |
io.js |
1.8.4 2.5.0 3.3.1 |
ImageMagick | 6.7.7.11 |
Java |
OpenJDK 7u181 Oracle JDK 8u181 Oracle JDK 9.0.1 Oracle JDK 10.0.2 |
Leiningen | 2.8.1 |
Linux Kernel | 4.4.0-135 |
Apache Maven | 3.5.4 |
Memcached | 1.4.14 |
MongoDB | 3.4.17 |
MySQL | 5.6.40 |
Node.js |
0.8.28 0.10.48 0.11.16 0.12.18 4.1.2 4.2.6 4.3.2 4.4.7 4.5.0 4.6.2 4.7.3 4.8.4 (default) 5.0.0 5.1.1 5.2.0 5.3.0 5.4.1 5.6.0 5.8.0 5.10.1 5.11.1 6.1.0 6.2.2 6.3.1 6.6.0 6.9.5 6.10.3 6.11.3 7.1.0 7.3.0 7.4.0 7.6.0 7.7.4 7.10.1 8.1.4 8.2.1 8.5.0 8.7.0 8.9.4 8.11.3 8.12.0 9.2.0 9.5.0 9.11.1 10.0.0 10.7.0 10.10.0 |
PhantomJS |
1.9.8 (default) 2.0.0 2.1.1 |
PHP |
5.4.45 5.5.38 5.6.37 (default) 7.0.31 7.1.21 7.2.9 |
pip | 18.0 |
PostGIS | 2.3 |
PostgreSQL |
9.6 (default) 10.0 |
Python |
2.6.9 2.7.10 (default) 3.3.6 3.4.3 3.5.0 3.6.0 pypy 5.8.0 pypy3 5.8.0 |
Qt |
4.8.1 (default) 5.4.2 5.5.1 |
RabbitMQ | 3.6.15 |
Redis | 4.0.10 |
RethinkDB | 2.3.6 |
Ruby |
2.5.1 2.5.0 2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 2.3.7 2.3.6 2.3.5 2.3.4 2.3.3 2.3.1 2.3.0 2.2.10 2.2.9 2.2.8 2.2.7 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 (default) 2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 2.1.2 2.1.1 2.1.0 2.0.0-p598 1.9.3-p551 ree-1.8.7-2012.02 JRuby 1.7.27 JRuby 9.1.15.0 JRuby 9.2.0.0 |
Sphinx | 2.2.11 |
sbt | 0.13.15 |
Scala |
2.11.11 2.12.6 |
SQLite | 3.8.2 |
virtualenv | 15.1.0 |
wkhtmltopdf | 0.12.4 |
Note: If you need to upgrade or install additional packages for your builds, you can do it with apt-get - either from Ubuntu's official distribution channels or third-party PPAs.
The Docker plaform has an identical software stack to the Standard platform, but with added support for running Docker images, and a pre-installed Docker toolchain (docker-ce 18.06 and docker-compose 1.22.0).
The Docker Light platform is stripped from all software, and ships only with the bare essentials needed for running Docker containers during builds and deployments.
Name | Version |
---|---|
docker-ce | 18.06 |
docker-compose | 1.22.0 |
gcloud | 216.0.0 |
kubectl | 1.11 |
We have a number of open source test apps in various flavors that we use for verification. If your setup is different or you're having problems making your build pass, we encourage you to contact us - we'd be happy to get your app building on Semaphore as quickly as possible.
Test frameworks known to be used by our users includes:
Note that these are simply a reflection of the whole supported stack.
MacOS and iOS will be supported in Semaphore 2.0.
Semaphore Docs are open source — Edit on GitHub
2009-2019 © Rendered Text. All rights reserved. Terms of Service, Privacy policy, Security.