Semaphore (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Semaphore
DeveloperRendered Text
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inRuby, Elixir
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    PlatformWeb
    TypeContinuous integration
    LicenseMIT licence
    Websitesemaphoreui.com//

    Semaphore is a hosted continuous integration and deployment service used for testing and deploying software projects hosted on GitHub and BitBucket.[1]

    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).[2]

    One of Semaphore’s features is native Docker support, which enables testing and deploying Docker-based applications.[3] 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.[4]

    Features

    [edit | edit source]

    Semaphore supports the following programming languages: C/C++, Clojure, Elixir, Go, Java, JavaScript, PHP, Python, Ruby and Scala.[5] 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.[6]

    Deployment integrations include AWS, Heroku, Capistrano and Cloud 66.[7]

    Semaphore 2.0 supports iOS and MacOS.

    Operation

    [edit | edit source]

    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.[8]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    [edit | edit source]