Developers of CI/CD tools often indicate large companies as Microsoft, Amazon, NASA as customers. It would seem that such brands work only with expensive systems that a conditional start-up from a couple of developers and a designer cannot afford. But a significant part of the tools is available for small teams. 

PHP Censor

An open source CI server that makes it easy to build PHP projects. This is a fork of the PHPCI project. PHPCI itself is still developing, but not as actively as before. 

PHP Censor can work with repositories GitHub, GitLab, Mercurial and several others. To test the code, the tool uses the Atoum, PHP Spec, Behat, Codeception libraries. Here is an example configuration file for the first case: 

test: atoum: args: "command line arguments go here" config: "path to config file" directory: "directory to run tests" executable: "path to atoum executable"

PHP Censor is not bad for deploying small projects, but you will have to host and configure it yourself (self-hosted). This task is simplified by fairly detailed documentation.

Rex

Rex is short for Remote Execution. The system was developed by engineer Ferenc Erki to automate processes in the data center. The work of Rex is based on Perl scripts, but it is not necessary to know this language to interact with the tool – most operations (for example, copying files) are described in the function library, and scripts often fit in ten lines. Here is an example to log in to multiple servers and run uptime: 

use Rex -feature => ['1.3']; user "my-user"; password "my-password"; group myservers => "mywebserver", "mymailserver", "myfileserver"; desc "Get the uptime of all servers"; task "uptime", group => "myservers", sub { my $output = run "uptime"; say $output; };

We recommend starting your acquaintance with the tool from the official guide and e-book , which is currently being added. 

Open Build Service (OBS)

This is a platform for optimizing distribution development. Its code is open and lies in the repository on GitHub . The author of the tool is Novell . It participated in the development of the SuSE distribution, and this project was originally called the openSUSE Build Service. Not surprisingly, the Open Build Service is used to build projects in openSUSE, Tizen, and VideoLAN. The tool also works with Dell, SGI and Intel. But there are among regular users and small startups. Especially for them, the authors compiled a pre-configured software package . The system itself is completely free – you only have to spend money on a hosting or an iron server to deploy it. 

But for the entire time of its existence, the tool has not acquired a wide community. Although it was part of the Linux Developer Network, responsible for standardizing the open OS. It can be difficult to find an answer to a question on topic forums. But one of the residents of Quora noted that in the IRC chat on Freenode, community members respond rather willingly. The problem of the small community is not global, since the solution to many problems is described in the official documentation (PDF and EPUB). There you can find best practices for working with OBS (there are examples and cases). 

Rundeck

An open CI/CD tool (GitHub) that automates tasks in the data center and the cloud using scripts. A special script server is responsible for their execution. We can say that Rundeck is the “daughter” of the ControlTier application management platform. Rundeck separated from it in 2010 and acquired new functionality – for example, integrations with Puppet, Chef, Git and Jenkins. 

The system is used by The Walt Disney Company , Salesforce and Ticketmaster . But the project is also suitable for startups. This is because Rundeck is licensed under the Apache v2.0 license.Moreover, the tool is quite easy to use.

A Reddit resident who worked with Rundeck says he solved most of the difficulties on his own. With this, the documentation and e-books published by the developers helped him. 

You can also find quick guides on how to configure the tool online: 

GoCD

An open CI/CD tool (GitHub) automates version control of code. It was introduced in 2007 by ThoughtWorks – then the project was called Cruise. 

AutoCD Autoder, an Ancestry genealogy service, and Barclaycard, a credit card provider, work with GoCD.However, a quarter of the users of the tool are small businesses . 

The popularity of the service among startups can be explained by its openness – it is distributed under the Apache v2.0 license. At the same time, GoCD has plugins for integration with third-party software – authorization systems and cloud solutions. True, the system is quite difficult to master – it has a large number of operators and teams. Also, some users complain about the poor interface and the need to configure agents for scaling. 

Jenkins

Jenkins is widely known and considered kind of standard in the field of CI/CD – of course, without it this selection would not be complete. The tool appeared in 2011, becoming an offshoot of the Oracle Hudson project. 

Today, they work with Jenkins at NASA, Nintendo, and other large organizations. However, more than 8% of users are in small groups of up to ten people. The product is completely free and distributed under the MIT license. However, you will have to host and configure Jenkins yourself – it requires a dedicated server. 

Over the entire life of the instrument, an extensive community has formed around it. Materials on Jenkins also regularly appear on Habré. If you would like to become part of the community and get started with Jenkins, there is official documentation and a guide from the developers. We also recommend the following guides and books: 

Jenkins has some useful third-party projects. The first is the Configuration as Code plugin. It simplifies Jenkins setup with readable APIs that are understandable even to administrators without deep knowledge of the tool. The second is the Jenkins X cloud system. It speeds up the delivery of applications deployed on a large-scale IT infrastructure by automating some routine tasks. 

Buildbot

This is a continuous integration system for automating the assembly and testing cycle of applications. It automatically checks the functionality of the code every time any changes are made to it. 

The author of the tool was engineer Brian Warner (Brian Warner). Today he was replaced by the Buildbot Oversight Committee initiative group, which includes six developers. 

Buildbot is used by projects such as LLVM, MariaDB, Blender, and Dr.Web. But it is also used in smaller projects like wxWidgets and Flathub. The system supports all modern VCS and has flexible build settings through the use of Python to describe them. The official documentation and third-party tutorials will help you deal with all of them, for example, here is a quick guide from IBM


Of course, these are not all DevOps CI/CD tools that small organizations and startups should pay attention to. Give your favorite tools in the comments, and we will try to talk about them in one of the following materials.

Useful links: