An ongoing curated list of awesome frameworks, important books, articles, talks, libraries, learning tutorials, best practices and technical resources about Continuous Integration & Continuous Delivery. Thanks to our daily readers and contributors. The goal is to build a categorized community-driven collection of very well-known resources. Sharing, suggestions and contributions are always welcome!
CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development.
The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment. CI/CD is a solution to the problems integrating new code can cause for development and operations teams (AKA "integration hell").
- Continuous Integration / Continuous Delivery
- Theory
- Build And Release System
- Online Build System
- Infrastructure
- dev env
- Source Code Management
- Code Review
- Build
- Static Check
- Dynamic Check
- Performance Analysis
- Coverage
- Testing
- Package
- Deploy
- Delivery
- Provisioning Tools
- secure-tools
- Web Server
- Applications And Container
- OS And Shell
- Database Version Control
- Useful Sites
- Conference And Submit
- Books
- Other Awesome Lists
- Contact
The theory for continuous integration and continuous deliver
- continuousIntegration
- continuousdelivery
- software integration
- ci/cd pipeline
- devopsdays
- ci cheatsheet
- devops_roadmap
The system for software build and release, continuous integration and continuous delivery
- Jenkins An extendable open source continuous integration server
- Solano CI Faster Continuous Integration and Deployment with patented auto-parallelization. See results 10 to 80x faster. 14-day free trial. No credit card required.
- Concourse Rather than a myriad of checkboxes, pipelines are defined as a single declarative config file
- BuildForge Automate and accelerate build and release processes
- ElectricFlow ElectricFlow/ElectricCommander gives distributed teams shared control and visibility into infrastructure, tool chains and processes. It accelerates and automates the software delivery process to enable agility, predictability and security across many build-test-deploy pipelines
- Teamcity Ready to work, extensible
and developer-friendly build server out of the box - bamboo Bamboo does more than just run builds and tests. It connects issues, commits, test results, and deploys so the whole picture is available to your entire product team
- go (the old snap-ci) Automate and streamline the build-test-release cycle for worry-free, continuous delivery of your product
- hudson the previous one of Jenkins
- openbuildservice The Open Build Service (OBS) is a generic system to build and distribute binary packages from sources in an automatic, consistent and reproducible way. You can release packages as well as updates, add-ons, appliances and entire distributions for a wide range of operating systems and hardware architectures
- buildbot Buildbot is a continuous integration system designed to automate the build/test cycle. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure
- Parabuild Parabuild is an enterprise software build and release management system that helps software teams to release on time by providing them practically unbreakable release builds and Continuous Integration
- FinalBuilder Automating your Build process is simple with FinalBuilder. With FinalBuilder you don't need to edit xml, or write scripts. Visually define and debug your build scripts, then schedule them with windows scheduler, or integrate them with Continua CI, Jenkins or any other CI Server
- VisualBuild Visual Build enables developers and build masters to easily create an automated, repeatable build process
- cruisecontrol CruiseControl.NET, an Automated Continuous Integration server, implemented using the .NET Framework
- continuum Apache Continuum™ is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems
- quickbuild GitHub integration. Perforce shelve support. Coverity report rendering. Subversion external change retrieval. Resource access info. Display reasons for waiting steps. Custom build and request columns. Favorite dash board list. Inheritable environment variables.And much more...
- rexify perl Deployment & Configuration Management
- SimpleCI Docker-based self-hosted ci system. Supports distributed build cache, external providers (GCE), real-time build log, etc.
- pulse no free version.
- PHP Censor Open source self-hosted continuous integration server for PHP projects.
- rundeck Rundeck features fine-grain access controls, a built-in job scheduler, and the ability to define workflows that dispatch commands and scripts to your nodes.
- cds CDS is an Enterprise-Grade Continuous Delivery & DevOps Automation Platform written in Go(lang).
- Drone CI Drone is a Continuous Delivery system built on container technology. Drone uses a simple YAML configuration file, a superset of docker-compose, to define and execute Pipelines inside Docker containers.
- Luigi Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
Online build release system
- appcircle.io — Automated mobile CI/CD/CT for iOS and Android with online device emulators.
- closeheat Static website integration with GitHub and Cloud development environment
- travis-ci ci server for github and bitbuckets
- cloudbees the Enterprise Jenkins Company
- elasticbox A DevOps approach that focuses on reusable application components as a service, and enables operations to provide IT as a Service
- coveralls Track your project's code coverage over time, changes to files, and badge your GitHub repo
- shippable Hosted continuous integration and deployment service built on docker
- circleci Continuous Integration for web apps.
- buildbox Simple self-hosted Continuous Integration
- drone Open source continuous integration platform built on Docker
- appveyor Continuous Integration and Deployment service for busy Windows
snap-ci Easy builds, deployed when you want.- codeship Continuous Integration and Delivery made simple
- githost Painless GitLab CE & CI Hosting
- testling Automatic browser tests on every push
- magnum-ci Hosted Continuous Integration and Delivery Platform for private repositories
- wercker Test and deploy your applications with ease
- codecov Continuous code coverage. Featuring browser extenstions and awesome pull request commentsto track coverage over time on your GitHub/Bitbucket/Gitlab repo
- GitLab CI - Based off of ruby. They also provide GitLab, which manages git repositories.
- IBM DevOps Services - Develop, track, plan, and deploy software onto the IBM Bluemix cloud platform.
- deploybot - Instantly build and ship code anywhere in one consistent process for your entire team.
- Semaphore CI — Fast and easy to use continuous integration and deployment service with native Docker support.
- flow.ci - flow.ci, hosted continuous integration and delivery service for innovators who shape the future.
- Bitrise Cloud based continuous integration and delivery for mobile, free for OSS
- Cirrus CI Free for open source, supports Linux, Windows, macOS and FreeBSD, flexible hosted CI service
- DeployPlace - Complex deployments become simple. Deploy your applications from git or CI in minutes.
- Buildkite - Lightning fast testing and delivery for all your software projects
Tools for monitoring the status continuous integration and continuous delivery
- CatLight Build status monitor for Jenkins, TeamCity, Travis CI, Appveyor and TFS
The hardware,virtual machines, fram management, docker
- GridWiki wiki page for Grid
- UGE Univa workload management solutions maximize the value of existing computing resources by efficiently sharing workloads across thousands of servers
- SGE Grid Engine is typically used on a computer farm or high-performance computing (HPC) cluster and is responsible for accepting, scheduling, dispatching, and managing the remote and distributed execution of large numbers of standalone, parallel or interactive user jobs. It also manages and schedules the allocation of distributed resources such as processors, memory, disk space, and software licenses
- LSF Platform Load Sharing Facility (or simply LSF) is a workload management platform, job scheduler, for distributed HPC environments. It can be used to execute batch jobs on networked Unix and Windows systems on many different architectures
- vmwarevshpere VMware vSphere (formerly VMware Infrastructure 4) is VMware's cloud computing virtualization operating system
- citrixserver XenServer is the best server virtualization platform for public and private clouds, powering 4 of the 5 largest hosting provider clouds. Built with scale, security and multi-tenancy in mind, XenServer allows for even greater flexibility and cost efficiency
- [miscrosofthyperv](Docker - An open platform for distributed applications for developers and sysadmins) microsoft virtualization
- amazon Scalable, pay-as-you-go compute capacity in the cloud
- mesosphere-dc/os As a datacenter operating system, DC/OS is itself a distributed system, a cluster manager, a container platform, and an operating system.
- boxstarter Repeatable, reboot resilient windows environment installations made easy using Chocolatey packages.
- T.A.D.S. boilerplate A boilerplate to setup a Docker Swarm environment with Ansible
- vagrantup Create and configure lightweight, reproducible, and portable development environments.
- veewee Easing the building of vagrant boxes
Version control and source code management tools
- git Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency
- perforce Industry’s most reliable and proven platform for versioning code, images, documents... everything
- clearcase IBM Rational ClearCase is a software configuration management solution that provides version control, workspace management, parallel development support, and build auditing
- mercurial Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface
- svn Subversion is an open source version control system
- gitlab Open source self-hosted Git management software
- github Powerful collaboration, review, and code management for open source and private development projects.
- bitbuckets Plant your code in the cloud. Watch it grow.
- teamfoundationservice Visual Studio Online, based on the capabilities of Team Foundation Server with additional cloud services, is the online home for your development projects. Get up and running in minutes on our cloud infrastructure without having to install or configure a single server. Visual Studio Online connects to Visual Studio, Eclipse, Xcode, and other Git clients to support development for a variety of platforms and languages
- phabricator Phabricator is a collection of open source web applications that help software companies build better software.
- IBM DevOps Services - Store, manage, edit, and collaborate on your source code. Then deploy onto the IBM Bluemix cloud platform.
Code review tools
- codecollaborator Collaborator helps development, testing and management teams work together to produce high quality code
- crucible Code reviews = quality code. Review code, discuss changes, share knowledge, and identify defects with Crucible's flexible review workflow. It's code review made easy for Subversion, CVS, Perforce, and more
- reviewboard Review Board takes the pain out of code review, saving you time, money, and sanity so you can focus on making great software
- codestriker Codestriker is an open-sourced web application which supports online code reviewing. Traditional document reviews are supported, as well as reviewing diffs generated by an SCM (Source Code Management) system and plain unidiff patches
- getbarkeep a fast, fun way to review code
- gerrit Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system
- Codebrag Codebrag is a simple code review tool that makes the process work for your team.
- Upsource Polyglot Code Review Tool, featuring code insight for PHP, JavaScript and Kotlin, GitHub integration, automated workflows, integration with CI servers
- Ebert Ebert does continuous static analysis of your GitHub repositories and delivers it straight to your Pull Requests, helping your team to focus on what's important and deliver better software.
Build tools
- gnumake GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files
- gnuautoconf Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages
- mozillabuildtools The Mozilla build system, like the rest of the Mozilla codebase, is cross-platform. It uses traditional Unix-style autoconf and make tools to build the various applications (even on non-unix operating systems)
- scons SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software
- cmake cmake offers robust, cross-platform software development solutions. Find out how we can help your team efficiently manage the build, test, and package process for your software project
- msbuild The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed
- ant Ant can be used to pilot any type of process which can be described in terms of targets and tasks. The main known usage of Ant is the build of Java applications.
- maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
- gradle Gradle is build automation evolved. Gradle can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else.
- ElectricacCelerator Continuous Delivery isn’t continuous if builds and tests take too long to complete. ElectricAccelerator speeds up builds and tests by up to 20X, improving software time to market, infrastructure utilization and developer productivity
- SBT sbt is an open source build tool for Scala and Java projects.
- do The simplest build tool on earth. Agnostic and multipurpose build tool and a build file. Tries to be better than the usual shell hell.
Software static check tools
- static tools wiki wiki page
- coverity Continually measure and improve code quality and security across your development organization
- fxcop FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements
- cpd Duplicate code can be hard to find, especially in a large project. But PMD's Copy/Paste Detector (CPD) can find it for you
- sonar SonarQube is an open platform to manage code quality
- findbugs Find Bugs in Java Programs
- checkstyle Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard
Software dynamic check tools
- dynamic tools wiki wiki page
- valgrind automatically detect many memory management and threading bugs, and profile your programs in detail
Software performance analysis tools
- performance tools wiki wiki page
Software testing coverage tools
- code coverage wiki wiki page
Software testing framework and tools
- Testingautomation test automation wiki page
- softwareqatest FAQ page
- qaforums SQA Forums
- opensourcetesting open source software testing tools, news and disccussions
- selenium Selenium automates browsers
- Monkey Test It Free automated website tester with CURLable API
- Assertible Continuous post deployment testing for GitHub
- Macaca Automation test solution for native, hybrid, mobile web and web application on mobile and desktop platforms
The tools for software package and installation
- installshield World's #1 Software Installation Solution-Build Reliable MSI Installers for Windows Applications
- NSIS NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution
- rpm The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating computer software packages
- yum Yum is an automatic updater and package installer/remover for rpm systems
- fpm Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
- wix The most powerful set of tools available to create your Windows installation experience.
- packer Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
The tools for web site deploy
- jfrog s the first Binary Repository Management solution, Artifactory has changed the way binaries are controlled, stored and managed throughout the software release cycle
- xl-deploy Agentless, Model-based App Deployment
- Jenkinsdeployplugin deploy to tomcat
- bintray The fastest and most reliable way to automate the distribution of your software releases
The tools for software delivery
- sl-release Orchestrate your Continuous Delivery pipelines. Simple. Flexible. End-to-End
- archiva Apache Archiva™ is an extensible repository management software that helps taking care of your own personal or enterprise-wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT
- nexus The use of repository managers (also known as component managers) is helping software development teams achieve simple gains in speed, efficiency, and quality of their operations
- chocolatey Chocolatey NuGet is a Machine Package Manager, somewhat like apt-get, but built with Windows in mind
- pulp Pulp is a platform for managing repositories of content, such as software packages, and pushing that content out to large numbers of consumers.
- herd A single-command bittorrent distribution system, based on Twitter's Murder
- murder Large scale server deploys using BitTorrent and the BitTornado library from twitter.com
Provision tools
- Ansible Simple infrastructure management tool via human readable playbooks
- Puppet Build, destroy and rebuild servers on any public or private cloud
- Chef Fast, scalable and flexible software for data center automation
- SaltStack Radically simple configuration-management, application deployment, task-execution, and multi-node orchestration engine
- terraform Use Infrastructure as Code to provision and manage any cloud, infrastructure, or service
Secure tools
- Deepfence Enterprise - Full life cycle Cloud Native Workload Protection platform for kubernetes, virtual machines and serverless.
- Deepfence Threat Mapper - Powerful runtime vulnerability scanner for kubernetes, virtual machines and serverless.
- whitesource The simplest way to secure and manage open source components in your software.
Common used web server
- apache Apache httpd has been the most popular web server on the Internet since April 1996
- nginx A high performance free open source web server powering busiest sites on the Internet
- tomcat An open source software implementation of the Java Servlet and JavaServer Pages technologies
- jetty
Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations - HAProxy - Software based load Balancing, SSL offloading and performance optimization, compression, and general web routing.
Linux shell, perl, python
VM application and container
- docker Docker - An open platform for distributed applications for developers and sysadmins
- suseapplication tools to create suse applications
Database version control system
- liquibase source control for your database
- flywaydb Database Migrations Made Easy
- dbdeploy dbdeploy is a Database Change Management tool. It’s for developers or DBAs who want to evolve their database design – or refactor their database – in a simple, controlled, flexible and frequent manner
- dbmaestro Controlled Database Continuous Delivery is Our Business
Other useful pages
Conference and submit
- Securing DevOps - A book on utilizing CI/CD techniques to improve the security of web applications and their infrastructure.
- Learning Continuous Integraion with TeamCity - Master the principles and practices behind Continuous Integration by setting it up for different technology stacks using TeamCity
Other amazingly awesome lists can be found in
- Collection of Collections
- Community
- awesome-awesomeness
- sysadmin
- ci tools compare
- ci tools compare2
- ci tools compare 3
- Docker Collection
MIT License & cc license
This work is licensed under a Creative Commons Attribution 4.0 International License.