Continuous Integration and Continuous Delivery
Contents_Index
- THEORY7
- BUILD AND RELEASE SYSTEM26
- ONLINE BUILD SYSTEM27
- MONITORING3
- INFRASTRUCTURE7
- DEV ENV4
- SOURCE CODE MANAGEMENT11
- CODE REVIEW9
- BUILD12
- STATIC CHECK7
- DYNAMIC CHECK2
- PERFORMANCE ANALYSIS1
- COVERAGE1
- TESTING8
- PACKAGE7
- DEPLOY5
- DELIVERY7
- PROVISIONING TOOLS4
- SECURE TOOLS3
- WEB SERVER5
- OS AND SHELL4
- APPLICATIONS AND CONTAINER2
- DATABASE VERSION CONTROL5
- USEFUL SITES2
- CONFERENCE AND SUBMIT1
- BOOKS5
- OTHER AWESOME LISTS8
Theory
7_ENTRIESThe theory for continuous integration and continuous deliver
Build And Release System
26_ENTRIESThe 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, extensibleand 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.
- Kraken CI
Kraken CI is a modern CI/CD, open-source, on-premise system that is highly scalable and focused on testing.
Online Build System
27_ENTRIESOnline 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
Monitoring
3_ENTRIESTools for monitoring the status continuous integration and continuous delivery
Infrastructure
7_ENTRIESThe 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
- amazon
Scalable, pay-as-you-go compute capacity in the cloud
Dev env
4_ENTRIES- 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
Source Code Management
11_ENTRIESVersion 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
9_ENTRIESCode 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
12_ENTRIESBuild 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.
Static Check
7_ENTRIESSoftware 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
Dynamic Check
2_ENTRIESSoftware dynamic check tools
- dynamic tools wiki
wiki page
- valgrind
automatically detect many memory management and threading bugs, and profile your programs in detail
Performance Analysis
1_ENTRIESSoftware performance analysis tools
- performance tools wiki
wiki page
Coverage
1_ENTRIESSoftware testing coverage tools
- code coverage wiki
wiki page
Testing
8_ENTRIESSoftware 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
Package
7_ENTRIESThe 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.
Deploy
5_ENTRIESThe 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
- Gitploy
Build the deployment system around GitHub in minutes
Delivery
7_ENTRIESThe 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
Provisioning Tools
4_ENTRIESProvision tools
- Ansible
Simple infrastructure management tool via human readable playbooks
- 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
3_ENTRIESSecure 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.
Web Server
5_ENTRIESCommon 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.
OS And Shell
4_ENTRIESLinux shell, perl, python
Applications And Container
2_ENTRIESVM application and container
- docker
Docker - An open platform for distributed applications for developers and sysadmins
- suseapplication
tools to create suse applications
Database Version Control
5_ENTRIESDatabase version control system
- liquibase
source control for your database
- flywaydb
Database Migrations Made Easy
- Rumba RDBM
Database migration tool, plain-SQL, and declarative definition supported.
- 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
Useful Sites
2_ENTRIESOther useful pages
Conference And Submit
1_ENTRIESConference and submit
Books
5_ENTRIES- 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
- Pipeline as Code
A book on building CI/CD pipelines with Jenkins for cloud-native applications (including K8s & Serverless apps).
- Continuous Delivery for Kubernetes
Take the fast track in your journey to continuous delivery, with open source tools for Kubernetes and cloud applications
- Continuous Delivery in Go
Book that shows you how to build pipelines that optimize your development process so you can deliver software seamlessly to production.
Other Awesome Lists
8_ENTRIESOther amazingly awesome lists can be found in