持续集成与交付

ciandcd Awesome

持续集成和持续交付

撰写者 ciandcd.com

精选的出色工具列表:
持续集成
持续交付
软件整合
devops

Theory

持续集成和持续交付的理论
continuousIntegration
continuousdelivery
software integration
ci/cd pipeline * devopsdays
ci cheatsheet
devops_roadmap

Build And Release System

用于软件构建和发布,持续集成和持续交付的系统
Jenkins 可扩展的开源持续集成服务器
Solano CI 通过获得专利的自动并行化功能,可以更快地进行持续集成和部署. 查看结果快10到80倍. 14天免费试用. 无需信用卡. * Concourse 管道被定义为单个声明性配置文件,而不是无数的复选框 * BuildForge 自动化并加速构建和发布过程
ElectricFlow ElectricFlow / ElectricCommander为分布式团队提供了对基础架构,工具链和流程的共享控制和可见性. 它可以加速和自动化软件交付过程,从而跨许多构建-测试-部署管道实现敏捷性,可预测性和安全性
Teamcity 准备工作,可扩展
和开发人员友好的开箱服务器
bamboo Bamboo不仅仅运行构建和测试. 它连接问题,提交,测试结果和部署,因此整个产品团队都可以使用整个图景
go (the old snap-ci) 自动化并简化构建-测试-发布周期,以无忧地连续交付产品
hudson 詹金斯的前一个
openbuildservice 开放式构建服务(OBS)是一种通用系统,可以自动,一致且可复制的方式从源中构建和分发二进制包. 您可以发布适用于各种操作系统和硬件体系结构的软件包以及更新,附加组件,设备和整个发行版
buildbot Buildbot是一个连续集成系统,旨在自动执行构建/测试周期. 通过在每次发生更改时自动重新构建和测试树,可以在不给其他开发人员带来麻烦之前,迅速找出构建问题
Parabuild Parabuild是企业软件构建和发布管理系统,可通过向软件团队提供几乎不间断的发布版本和持续集成来帮助软件团队按时发布.
FinalBuilder 使用FinalBuilder可以使构建过程自动化. 使用FinalBuilder,您无需编辑xml或编写脚本. 可视地定义和调试您的构建脚本,然后使用Windows Scheduler对其进行调度,或者将它们与Continua CI,Jenkins或任何其他CI Server集成
VisualBuild Visual Build使开发人员和构建大师可以轻松地创建自动化,可重复的构建过程
cruisecontrol CruiseControl.NET,一个自动持续集成服务器,使用.NET Framework实现
continuum Apache Continuum™是企业就绪的持续集成服务器,具有自动构建,发布管理,基于角色的安全性以及与流行的构建工具和源代码管理系统的集成等功能.
quickbuild GitHub集成. Perforce搁置了支持. 覆盖率报告呈现. 颠覆外部变更检索. 资源访问信息. 显示等待步骤的原因. 自定义构建和请求列. 最喜欢的仪表板列表. 可继承的环境变量以及更多...
rexify perl部署和配置管理
SimpleCI 基于Docker的自托管ci系统. 支持分布式构建缓存,外部提供程序(GCE),实时构建日志等.
pulse 没有免费版本.
PHP Censor 用于PHP项目的开源自托管持续集成服务器.
rundeck Rundeck具有细粒度的访问控制,内置的作业计划程序,并能够定义将命令和脚本分发到节点的工作流.
cds CDS是用Go(lang)编写的企业级连续交付和DevOps自动化平台. * Drone CI 无人机是基于容器技术的持续交付系统. 无人机使用一个简单的YAML配置文件(一个docker-compose的超集)来定义和执行Docker容器内的管道.
Luigi Luigi是一个Python模块,可帮助您构建批处理作业的复杂管道. 它处理依赖关系解析,工作流管理,可视化等.它还内置了Hadoop支持.

Online Build System

在线版本发布系统
closeheat 与GitHub和Cloud开发环境的静态网站集成 * travis-ci github和bitbuckets的ci服务器
cloudbees 企业詹金斯公司
elasticbox 一种DevOps方法,专注于可重用的应用程序组件即服务,并使操作能够提供IT即服务
coveralls 随时间跟踪项目的代码覆盖率,文件更改并标记GitHub存储库
shippable 基于Docker托管的持续集成和部署服务
circleci Web应用程序的持续集成.
buildbox 简单的自托管持续集成
drone 基于Docker构建的开源持续集成平台
appveyor 为繁忙的Windows提供持续集成和部署服务
snap-ci 易于构建,可在需要时部署. * codeship 持续集成和交付变得简单
githost 无痛GitLab CE和CI托管
testling 每次推送时自动进行浏览器测试
magnum-ci 托管用于私有存储库的持续集成和交付平台
wercker 轻松测试和部署您的应用程序
codecov 连续的代码覆盖率. 具有浏览器扩展功能和出色的请求请求注释,可跟踪GitHub / Bitbucket / Gitlab存储库中的覆盖范围
GitLab CI -基于红宝石. 他们还提供了GitLab,用于管理git存储库. * IBM DevOps Services -将软件开发,跟踪,规划和部署到IBM Bluemix云平台上.
deploybot -为整个团队以一致的过程立即在任何地方构建和交付代码. * Semaphore CI —通过本机Docker支持,快速,易于使用的持续集成和部署服务. * flow.ci -flow.ci,为塑造未来的创新者提供持续的集成和交付服务. * Bitrise 基于云的移动设备持续集成和交付,OSS免费
Cirrus CI 免费开源,支持Linux,Windows,macOS和FreeBSD,灵活的托管CI服务
* DeployPlace -复杂的部署变得简单. 在数分钟内从git或CI部署您的应用程序. * builkite 闪电般快速测试并交付您所有软件项目

Monitoring

监视状态的工具持续集成和持续交付
* CatLight 为詹金斯,TeamCity,Travis CI,Appveyor和TFS构建状态监视器

Infrastructure

硬件,虚拟机,fram管理,docker
GridWiki 网格的Wiki页面
UGE Univa工作负载管理解决方案通过在数千台服务器之间有效地共享工作负载来最大化现有计算资源的价值
SGE Grid Engine通常用于计算机场或高性能计算(HPC)群集上,并负责接受,调度,调度和管理大量独立,并行或交互式用户作业的远程和分布式执行. 它还管理和调度分配资源的分配,例如处理器,内存,磁盘空间和软件许可证.
LSF 平台负载共享工具(或简称为LSF)是用于分布式HPC环境的工作负载管理平台,作业调度程序. 它可用于在许多不同体系结构的联网Unix和Windows系统上执行批处理作业
vmwarevshpere VMware vSphere(以前称为VMware Infrastructure 4)是VMware的云计算虚拟化操作系统
citrixserver XenServer是用于公共云和私有云的最佳服务器虚拟化平台,可为5个最大的托管服务提供商云中的4个提供支持. XenServer在构建时考虑了规模,安全性和多租户的特点,从而提供了更大的灵活性和成本效益
miscrosofthyperv 微软虚拟化
amazon 云中可扩展的按需付费计算能力
* mesosphere-dc/os 作为数据中心操作系统,DC / OS本身就是分布式系统,集群管理器,容器平台和操作系统.

Dev env

  • boxstarter 使用Chocolatey软件包,可重复执行的可重启的弹性Windows环境安装变得很容易.
  • T.A.D.S. boilerplate 使用Ansible设置Docker Swarm环境的样板
  • vagrantup 创建和配置轻量级,可复制且可移植的开发环境.
  • veewee 简化无业游民的盒子的建设

Source Code Management

版本控制和源代码管理工具
git Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容
perforce 业界最可靠,最成熟的平台,用于对代码,图像,文档等进行版本控制
clearcase IBM Rational ClearCase是一个软件配置管理解决方案,提供版本控制,工作空间管理,并行开发支持和构建审核.
mercurial Mercurial是一个免费的分布式源代码管理管理工具. 它可以有效地处理任何规模的项目,并提供简单直观的界面
svn Subversion是一个开源版本控制系统
gitlab 开源自托管Git管理软件
github 开源和私有开发项目的强大协作,审阅和代码管理.
bitbuckets 将您的代码植入云端. 看着它成长.
teamfoundationservice 基于Team Foundation Server的功能和其他云服务的Visual Studio Online是开发项目的在线主页. 在几分钟之内即可在我们的云基础架构上启动并运行,而无需安装或配置单个服务器. Visual Studio Online连接到Visual Studio,Eclipse,Xcode和其他Git客户端,以支持针对多种平台和语言的开发
phabricator Phabricator是一组开源Web应用程序,可帮助软件公司构建更好的软件.
* IBM DevOps Services -在源代码上存储,管理,编辑和协作. 然后部署到IBM Bluemix云平台上.

Code Review

代码审查工具
codecollaborator 协作者帮助开发,测试和管理团队一起工作以产生高质量的代码
crucible 代码审查=质量代码. 使用Crucible灵活的检查流程检查代码,讨论更改,共享知识并识别缺陷. 它的代码审查使Subversion,CVS,Perforce等更容易实现
reviewboard 审查委员会消除了代码审查的麻烦,节省了您的时间,金钱和理智,使您可以专注于开发出色的软件
codestriker Codestriker是一个开源的Web应用程序,支持在线代码检查. 支持传统的文档审阅,以及审阅由SCM(源代码管理)系统生成的差异和纯unidiff补丁
getbarkeep 快速,有趣的方式来检查代码
gerrit Gerrit是一个基于Web的代码审查系统,可使用Git版本控制系统促进对项目的在线代码审查.
Codebrag Codebrag是一个简单的代码审查工具,可使该过程为您的团队工作.
Upsource Polyglot代码检查工具,具有对PHP,JavaScript和Kotlin的代码洞察力,GitHub集成,自动化的工作流程,与CI服务器的集成 * Ebert Ebert对GitHub存储库进行持续的静态分析,并将其直接传递给您的Pull Requests,从而帮助您的团队专注于重要内容并交付更好的软件.

Build

构建工具
gnumake GNU Make是一种工具,用于控制从程序的源文件生成程序的可执行文件和其他非源文件
gnuautoconf Autoconf是M4宏的可扩展包,该宏包会生成Shell脚本以自动配置软件源代码包
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是一种开源软件构建工具,即下一代构建工具. 可以将SCons视为经典Make实用程序的改进的跨平台替代品,它具有类似于autoconf / automake和编译器缓存(例如ccache)的集成功能. 简而言之,SCons是一种更轻松,更可靠,更快的软件构建方式
cmake cmake提供了强大的跨平台软件开发解决方案. 了解我们如何帮助您的团队有效地管理软件项目的构建,测试和打包过程
msbuild Microsoft Build Engine是用于构建应用程序的平台. 此引擎也称为MSBuild,它为项目文件提供XML模式,该文件控制构建平台如何处理和构建软件. Visual Studio使用MSBuild,但它不依赖于Visual Studio. 通过在项目或解决方案文件上调用msbuild.exe,可以在未安装Visual Studio的环境中编排和构建产品.
ant 蚂蚁可以用来引导可以根据目标和任务来描述的任何类型的过程. Ant的主要已知用法是Java应用程序的构建.
maven Apache Maven是一个软件项目管理和理解工具. 基于项目对象模型(POM)的概念,Maven可以从中央信息管理项目的构建,报告和文档.
gradle Gradle是构建自动化的发展. Gradle可以使软件包或其他类型的项目(例如生成的静态网站,生成的文档或其他任何东西)的构建,测试,发布,部署以及更多自动化.
ElectricacCelerator 如果构建和测试花费太长时间才能完成,则持续交付将不是连续的. ElectricAccelerator将构建和测试速度提高了20倍,从而缩短了软件上市时间,基础设施利用率和开发人员的工作效率
* SBT sbt是一个用于Scala和Java项目的开源构建工具. * do 地球上最简单的构建工具. 不可知的和多功能的构建工具和构建文件. 试图比通常的外壳地狱更好.

Static Check

软件静态检查工具
static tools wiki 维基页面
coverity 持续衡量和改善整个开发组织中的代码质量和安全性
fxcop FxCop是一个应用程序,它分析托管代码程序集(针对.NET Framework公共语言运行时的代码)并报告有关程序集的信息,例如可能的设计,本地化,性能和安全性改进
cpd 重复的代码可能很难找到,尤其是在大型项目中. 但是PMD的复制/粘贴检测器(CPD)可以为您找到它
sonar SonarQube是管理代码质量的开放平台
findbugs 在Java程序中查找错误
* checkstyle Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码

Dynamic Check

软件动态检查工具
dynamic tools wiki 维基页面
valgrind 自动检测许多内存管理和线程错误,并详细描述您的程序

Performance Analysis

Software performance analysis tools
* performance tools wiki 维基页面

Coverage

软件测试覆盖率工具
* code coverage wiki 维基页面

Testing

软件测试框架和工具
Testingautomation 测试自动化Wiki页面
softwareqatest 常见问题页面
qaforums SQA论坛
opensourcetesting 开源软件测试工具,新闻和讨论
* selenium 硒使浏览器自动化 * Monkey Test It 具有CURLable API的免费自动化网站测试器 * Assertible GitHub的持续部署后测试 * Macaca 针对移动和桌面平台上的本机,混合,移动Web和Web应用程序的自动化测试解决方案

Package

软件包和安装工具
installshield World's #1 Software Installation Solution-Build Reliable MSI Installers for Windows Applications
NSIS NSIS(Nullsoft脚本安装系统)是创建Windows安装程序的专业开源系统. 它设计得尽可能小巧,灵活,因此非常适合互联网分发
rpm RPM软件包管理器(RPM)是功能强大的命令行驱动的软件包管理系统,能够安装,卸载,验证,查询和更新计算机软件包.
yum Yum是rpm系统的自动更新程序和软件包安装程序/删除程序
fpm 埃芬包管理! 轻松轻松地为多个平台(deb,rpm等)构建软件包.
wix 可用于创建Windows安装体验的最强大的工具集.
* packer Packer是一个工具,可从一个源配置为多个平台创建相同的机器映像.

Deploy

网站部署工具
jfrog 作为第一个二进制存储库管理解决方案,Artifactory改变了整个软件发布周期中二进制文件的控制,存储和管理方式
xl-deploy 无代理,基于模型的应用程序部署
Jenkinsdeployplugin 部署到tomcat
bintray 自动分发软件版本的最快,最可靠的方法

Delivery

软件交付工具
sl-release 编排您的持续交付管道. 简单. 灵活. 端到端
archiva Apache Archiva™是可扩展的存储库管理软件,可帮助您照顾自己的个人或企业范围内的构建工件存储库. 它是Maven,Continuum和ANT等构建工具的理想伴侣
nexus 存储库管理器(也称为组件管理器)的使用正在帮助软件开发团队在速度,效率和操作质量方面取得简单的收获
chocolatey Chocolatey NuGet是一个机器软件包管理器,有点像apt-get,但是考虑到Windows的构建
herd A single-command bittorrent distribution system, based on Twitter's Murder
murder 使用Twitter.com上的BitTorrent和BitTornado库部署大型服务器

Provisioning Tools

供应工具 * Ansible 通过易读的剧本提供简单的基础架构管理工具 * [Puppet]()在任何公共或私有云上构建,销毁和重建服务器
Chef 快速,可扩展和灵活的软件,用于数据中心自动化
SaltStack 极其简单的配置管理,应用程序部署,任务执行和多节点编排引擎
* terraform 使用基础架构作为代码来配置和管理任何云,基础架构或服务

Web Server

常用的Web服务器
apache 自1996年4月以来,Apache httpd一直是Internet上最受欢迎的Web服务器.
nginx 高性能的免费开源Web服务器,为Internet上最繁忙的站点提供支持
tomcat Java Servlet和JavaServer Pages技术的开源软件实现
jetty
Jetty提供了一个Web服务器和javax.servlet容器,并支持SPDY,WebSocket,OSGi,JMX,JNDI,JAAS和许多其他集成
* HAProxy -基于软件的负载平衡,SSL卸载和性能优化,压缩以及常规Web路由.

OS And Shell

Linux Shell,Perl,Python
awesome-shell
awesome-python
awesome-perl
awesome-sysadmin

Applications And Container

VM应用程序和容器
docker Docker-开发人员和系统管理员的分布式应用程序开放平台
suseapplication 创建suse应用程序的工具

Database Version Control

数据库版本控制系统
liquibase 数据库的源代码控制
flywaydb 数据库迁移变得容易
nextep NeXtep软件公司为数据库开发和部署的工业化提供软件解决方案. 我们的目标是通过控制开发生命周期并自动化部署和测试流程来提高开发团队的生产力
dbdeploy dbdeploy是一个数据库更改管理工具. 适用于希望以简单,受控,灵活和频繁的方式发展数据库设计或重构数据库的开发人员或DBA
* dbmaestro 受控数据库连续交付是我们的业务

Useful Sites

其他有用的页面
infoq
stackoverflow

Conference And Submit

会议并提交
* devops submit

Books

Other Awesome Lists

其他惊人的列表可以在
awesome
awesome-awesome
awesome-awesomeness
sysadmin
ci tools compare
ci tools compare2 * ci tools compare 3 * awesome-docker

Contact

欢迎添加有关持续集成和持续交付的新项目.
我的电子邮件是:itech001@126.com.