Open Source Continuous Delivery Tools

Continuous delivery tools can get pretty expensive nowadays, from build servers to automated testing scripts and deployment tools. All of those tools need either monthly subscriptions or annual license fees.

Thanks to open source continuous delivery tools the cost can be reduced significantly.Below are set of tool that covers the different phases of the continuous delivery phase.

open source continuous delivery tools

Open Source Version Control Systems

GitLab

Gitlab offers free and open source version of their web-based Git manager. The application is packed with Wiki support & Issue tracking systems. In the last couple of years, Gitlab expanded the scope of their products to cover all the phases of the software development lifecycle from concept to delivery and established them themselves in the DevOps industry. Gitlab products can be considered as 1 solution for all the phases of DevOps.

Gogs

Gogs stared to gain some popularity lately, it is 100% open source and free of charge. The application is developed using Go Language which makes it very fast and cross-platform it can be installed on Linux, Windows, Mac or a Go compatible system. Like any other git manager, they offer Wiki module and simple issue tracking system. Gogs is a light weight simple application and it does what it says perfectly version control & collaboration.

Diffusion

Diffusion is an open source version control system that comes bundled with Phabricator. It supports hosting Git,SVN, and Mercurial repositories. Diffusion lets the user browse branches,commit history, and navigate the file system.

Open Source Build Servers

Jenkins

Jenkins is the most used option when it comes to open source continuous delivery tools, it is built using Java and can be deployed easily with a simple WAR format or the solution we at Steadyops prefer - Docker Container. Jenkins has proved it self to be industry standard with its rock-solid stability, huge community support & wide set of plugins. Recently, Jenkins introduced a new plugin "Blue Ocean" that made building automation much easier and robust with Pipeline support, Pipeline Visualization & the Jenkinsfile format which allowed automation steps to be described as "code".

Buildbot

Buidlbot is another option to consider when using open source continuous delivery tools, it used by Mozilla to automate the builds of Chromium, Webkit, and other projects.The application is built using Python and can be run on any machine that supports Python. Out of the box, Buildbot supports more than 10 version control systems (including Git, SVN, Mercurial, CVS, etc) and a wide set of builders.

Open Source Configuration Management

Configuration management software is a must have when trying to reach the continuous delivery phase, it provides a systematic method to unify server & environment configuration and allows to write infrastructure as code. This makes it easy to put configuration files under version control and hence the ability to control changes and predict/prevent errors before they happen.

Ansible

Developed by Redhat Inc using Python and PowerShell, Ansible is a powerful tool that not only allows writing infrastructure as code, it's scope extends to server provisioning and application deployment. Ansible configuration files are written in YAML or Jinja Templates which are very common in the software development industry and very easy to learn. Ansible is built to enforce re-usability from the beginning, server configuration or Playbooks can be shared publicly through Ansible Galaxy or you can just store them on Git.

Chef

Chef is another configuration management software that is well established in the market, developed using Ruby(client)/Erlang(Server). It utilizes Ruby domain specific language to store configuration. Chef can manage public, private and hybrid cloud infrastructure, currently, Facebook & HP public cloud rely on it for their daily operations. Chef configuration scripts are called "Recipes".

Open Source Test Automation

Choosing a test automation tool relies completely on the programming language.Below is a list of frameworks for different languages that you can use.

Open Source All-in-One Tool

Phacility

The guys behind Phacility have done a great work in creating a single platform to cover all the phases of software development and DevOps. The platform is 100% open source and built using PHP language. They offer a cloud based subscription for 20 USD/Month if you don't want to the hassle of hosting and installing the application on your own. We will be writing a separate article on how to install,configure and use Phacility as an All-in-One tool for DevOps.

Conclusion

We hope that we have covered all of the major stages in Continuous Delivery phase and how to implement them using open source tools. We will be frequently updating this page to include more tools as we experiment them. If you feel that we have missed a tool that must be mentioned just leave us a comment.
{{ message }}

{{ 'Comments are closed.' | trans }}

Search