Semaphore (software)

{{for|variables controlling resource access|Semaphore (programming)}}

{{infobox software

| name = Semaphore

| logo =

| caption =

| developer = Rendered Text

| programming language = Ruby, Elixir

| platform = Web

| genre = Continuous integration

| license =

| website = {{URL|https://semaphoreci.com/}}

| released =

}}

Semaphore is a hosted continuous integration and deployment service used for testing and deploying software projects hosted on GitHub and BitBucket.[https://marketplace.atlassian.com/plugins/com.semaphoreci.bitbucket/cloud/overview Semaphore on Atlassian Marketplace]

While open source projects can use Semaphore for free in its full capacity, free use for private projects is limited to 100 builds per month (Semaphore Classic) or $20 of service every month (Semaphore 2.0).[https://semaphoreci.com/ Semaphore Official Site]

One of Semaphore’s features is native Docker support, which enables testing and deploying Docker-based applications.[http://www.businesswire.com/news/home/20160603005423/en/Semaphore-Launches-Next-generation-Continuous-Delivery-Platform-Docker Semaphore Launches a Next Generation Continuous Delivery Platform for Docker] Semaphore also offers Boosters, a feature that reduces the duration of running a test suite to that of the longest test through automatic parallelization of builds for Ruby projects.[http://www.businesswire.com/news/home/20170523005053/en/Semaphore-Announces-Boosters-Feature-Automated-Testing-10 Semaphore Announces Boosters, a Feature that Makes Automated Testing 10 Times Faster]

Features

Semaphore supports the following programming languages: C/C++, Clojure, Elixir, Go, Java, JavaScript, PHP, Python, Ruby and Scala.[https://github.com/renderedtext/semaphore-docs-new/tree/master/source/docs/languages Semaphore docs]

Projects written in other programming languages demand manual configuration.

Some of the supported frameworks include: test/unit, RSpec, Cucumber, Steak, Capybara Webkit, Jasmine, Karma, Minitest, Poltergeist, PhantomJS.[https://semaphoreci.com/docs/supported-stack.html Semaphore docs – Supported Stack]

Deployment integrations include AWS, Heroku, Capistrano and Cloud 66.[https://www.sitepoint.com/crash-course-continuous-deployment-semaphore-ci/ Crash Course: Continuous Deployment with Semaphore CI]

Semaphore 2.0 supports iOS and MacOS.

Operation

Once the project and the branch have been selected, Semaphore determines the configuration of the project, by extracting meta information. After customizing and configuring the wanted builds, Semaphore begins testing.

The results of the performed jobs are highlighted red (failed) or green (passed). If a test fails, the developer needs to further configure and fix the code until the test is green.[https://www.sitepoint.com/crash-course-continuous-deployment-semaphore-ci/ Crash Course: Continuous Deployment with Semaphore CI]

See also

References

{{reflist}}