Semaphore (software)
   HOME

TheInfoList



OR:

Semaphore is a hosted
continuous integration Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state. Typically, developers Merge (version control), merge changes to an Branching (revisio ...
and deployment service used for testing and deploying software projects hosted on GitHub and BitBucket. 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). One of Semaphore’s features is native Docker support, which enables testing and deploying Docker-based applications. 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 Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
projects.


Features

Semaphore supports the following programming languages: C/ C++,
Clojure Clojure (, like ''closure'') is a dynamic programming language, dynamic and functional programming, functional dialect (computing), dialect of the programming language Lisp (programming language), Lisp on the Java (software platform), Java platfo ...
,
Elixir An elixir is a sweet liquid used for medical purposes, to be taken orally and intended to cure one's illness. When used as a dosage form, pharmaceutical preparation, an elixir contains at least one active ingredient designed to be taken orall ...
, Go,
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
,
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
,
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
and Scala. Projects written in other programming languages demand manual configuration. Some of the supported frameworks include: test/unit, RSpec,
Cucumber The cucumber (''Cucumis sativus'') is a widely-cultivated creeping vine plant in the family Cucurbitaceae that bears cylindrical to spherical fruits, which are used as culinary vegetables.Capybara The capybara or greater capybara (''Hydrochoerus hydrochaeris'') is the largest living rodent, native to South America. It is a member of the genus '' Hydrochoerus''. The only other extant member is the lesser capybara (''Hydrochoerus isthmi ...
Webkit,
Jasmine Jasmine (botanical name: ''Jasminum'', pronounced ) is a genus of shrubs and vines in the olive family of Oleaceae. It contains around 200 species native to tropical and warm temperate regions of Eurasia, Africa, and Oceania. Jasmines are wid ...
, Karma, Minitest, Poltergeist, PhantomJS. Deployment integrations include AWS,
Heroku Heroku is a cloud platform as a service (PaaS) supporting several programming languages. As one of the first cloud platforms, Heroku has been in development since June 2007, when it supported only the Ruby programming language, but now also suppo ...
, Capistrano and Cloud 66. 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.Crash Course: Continuous Deployment with Semaphore CI
/ref>


See also

* Continuous integration software *
Comparison of continuous integration software This is a compendium of software tools that support continuous integration. Features Version control support The following table compares notable continuous integration software on the basis of version control Version control (also k ...


References

{{reflist


External links


Official site

Semaphore on GitHub Marketplace
Continuous integration