Continuous Integration and Continuous Delivery
ciandcd ¶
Continuous Integration and Continuous Delivery
Written by cicdops.com
A curated list of awesome tools for:
continuous integration
continuous delivery
software integration
devops
Theory¶
The theory for continuous integration and continuous deliver
continuousIntegration
continuousdelivery
software integration
ci/cd pipeline
* devopsdays
ci cheatsheet
devops_roadmap
Build And Release System¶
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.
* 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¶
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
Monitoring¶
Tools for monitoring the status continuous integration and continuous delivery
* CatLight Build status monitor for Jenkins, TeamCity, Travis CI, Appveyor and TFS
* Barklarm Open Source multiplatform alarm munitor and build status of servers that support of CCTray Specification and Github Actions.
* CCMenu OSx build status monitor for servers tha support CCTray Specification.
Infrastructure¶
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 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.
Dev env¶
- 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¶
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¶
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¶
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.
Static Check¶
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
Dynamic Check¶
Software 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¶
Software performance analysis tools
* performance tools wiki wiki page
Coverage¶
Software testing coverage tools
* code coverage wiki wiki page
Testing¶
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
Package¶
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.
Deploy¶
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
* Gitploy Build the deployment system around GitHub in minutes
Delivery¶
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
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¶
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
terraform Use Infrastructure as Code to provision and manage any cloud, infrastructure, or service
secure tools¶
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.
Web Server¶
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.
OS And Shell¶
Linux shell, perl, python
awesome-shell
awesome-python
awesome-perl
awesome-sysadmin
Applications And Container¶
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¶
Database 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¶
Other useful pages
infoq
stackoverflow
Conference And Submit¶
Conference and submit
* devops submit
Books¶
- 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¶
Other amazingly awesome lists can be found in
awesome
awesome-awesome
awesome-awesomeness
sysadmin
ci tools compare
ci tools compare2
* ci tools compare 3
* awesome-docker
*awesome-cicd
Contact¶
Welcome To add new items about continuous integration and continuous delivery.
my email is: itech001@126.com.