DevOps的各种东西

1. 最棒的60个DevOps开源工具

本文推荐了60款开源工具来帮助大家更好的实行DevOps。

你喜欢免费的东西吗?获得开发者社区支持的自动化,开源的工具是大家梦寐以求的。这里列举了 60+ 款最棒的开源工具,可以帮助你很好的实行 DevOps。

开发工具

版本控制&协作开发

版本控制系统 Git

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

开源中国 Git 代码托管平台:码云 - 开源中国

代码托管平台 GitLab

GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。开源中国代码托管平台 git.oschina.net 就是基于 GitLab 项目搭建。

代码评审工具 Gerrit

Gerrit 是一个免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用 Git 作为底层版本控制系统。

版本控制系统 Mercurial

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。

版本控制系统 Subversion

Subversion 是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

版本控制系统 Bazaar

Bazaar 是一个分布式的版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统。

自动化构建和测试

Apache Ant

Apache Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

Maven

Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。开源中国的 Maven 库http://maven.oschina.net

Selenium

Selenium (SeleniumHQ) 是 thoughtworks公司的一个集成测试的强大工具。

PyUnit

Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计的 JUnit 的Python版本。

QUnit

QUnit 是 jQuery 的单元测试框架。

JMeter

JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100% 的用 java 实现。

Gradle

Gradle 就是可以使用 Groovy 来书写构建脚本的构建系统,支持依赖管理和多项目,类似 Maven,但比之简单轻便。

PHPUnit

PHPUnit 是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。

持续集成&交付

Jenkins

Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。

Capistrano

Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。

BuildBot

BuildBot 是一个系统 的自动化编译/测试周期最需要的软件,以验证代码的变化。通过自动重建和测试每次发生了变化的东西,在建设迅速查明之前,减少不必要的失败。

Fabric

fabric8 是开源 Java Containers(JVMs) 深度管理集成平台。有了 fabric8 可以非常方便的从 UI 和 UX 一致的中央位置进行自动操作,配置和管理。fabric8 同时提供一些非功能性需求,比如配置管理,服务发现故障转移,集中化监控,自动化等等。

Tinderbox

Travis CI

Travis CI 是一个基于云的持续集成项目, 目前已经支持大部分主流语言了,比如:C,PHP,Ruby,Python, Nodejs等等。

Continuum

Apache Continuum 是最新的 CI 服务器之一,也是值得关注的一个新进入者。基于 Web 的界面使得配置项目很容易。而且,还不需要安装 Web 服务器,因为 Continuum 内置了 Jetty Web 服务器。并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。

LuntBuild

LuntBuild 是一个强大自动构建的工具。通过一个简洁的web接口就可以很容易地进行系统的持续构建。

CruiseControl

CruiseControl 是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。CruiseControl提供了一个Web接口, 可随时查看当前的编译状况和历史状况

Integrity

ntegrity 是 Ruby 开发的持续集成服务器。

Gump

Gump 是 Apache 的整合工具。它以 Python 写成、完全支持 Apache Ant、Apache Maven 等等软件组建工具。

Go

Go 是 Google 开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。

部署工具

容器平台

Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Rocket

Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 类似,帮助开发者打包应用和依赖包到可移植容器中,简化搭环境等部署工作。

Ubuntu(LXC)

LXD 是 ubuntu 基于 LXC 技术的重构,容器天然支持非特权和分布式。LXD 与 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 项目由一个 Linux 内核补丁和一些 userspace 工具组成。这些 userspace 工具使用由补丁增加的内核新特性,提供一套简化的工具来维护容器。

配置管理

Chef

Chef 是一个系统集成框架,为整个架构提供配置管理功能

Puppet

Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。

CFengine

Cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine 适用于管理各种环境,从一台主机到上万台主机的机群均可使用。

Bash

bash 是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

Rudder

Rudder 已改名为Flannel,为每个使用 Kubernetes 的机器提供一个子网。也就是说 Kubernetes 集群中的每个主机都有自己一个完整的子网,例如机器 A 和 B 可以有 10.0.1.0/24 和 10.0.2.0/24 子网。

Powershell

RunDeck

RunDeck 是用 Java/Grails 写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。

Saltstack

Saltstack 可以看做是func的增强版+Puppet的弱化版。使用Python编写。非常好用,快速可以基于EPEL部署。Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。

Ansible

Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。

微服务平台

OpenShift

OpenShift 是由红帽推出的一款面向开源开发人员开放的平台即服务(PaaS)。 OpenShift通过为开发人员提供在语言、框架和云上的更多的选择,使开发人员可以构建、测试、运行和管理他们的应用。

Cloud Foundry

Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发 人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

Kubernetes

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。

Mesosphere

Apache Mesos 是一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行Hadoop、MPI、Hypertable、Spark。

服务开通

Puppet

Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。

Razor

Docker Swarm

Docker Swarm 是一个Dockerized化的分布式应用程序的本地集群,它是在Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来 说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。

Vagrant

Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境。

Powershell

OpenStack Heat

维护

日志记录

Logstash

Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

CollectD

Collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

StatsD

StatsD 是一个简单的网络守护进程,基于 Node.js 平台,通过 UDP 或者 TCP 方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务,例如 Graphite

监控,警告&分析

Nagios

Nagios 是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。

Ganglia

Ganglia 是一个跨平台可扩展的,高 性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。

Sensu

Sensu 是开源的监控框架。主要特性:高度可组合;提供一个监控代理,一个事件处理器和文档 APIs;为云而设计;Sensu 的现代化架构允许监控大规模的动态基础设施,能够通过复杂的公共网络监控几千个全球分布式的机器和服务;热情的社区。

Zabbix

Zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

ICINGA

ICINGA 项目是 由Michael Luebben、HendrikB?cker和JoergLinge等人发起的,他们都是现有的Nagios项目社区委员会的成员,他们承诺,新的开源项 目将完全兼容以前的Nagios应用程序及扩展功能。

Graphite

Graphite 是一个用于采集网站实时信息并进行统计的开源项目,可用于采集多种网站服务运行状态信息。Graphite服务平均每分钟有4800次更新操作。

Kibana

Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

-----------------------------

OpsManage是什么?

一款代码部署、应用部署、计划任务、设备资产管理平台。

开源声明:欢迎大家star或者fork我的开源项目,如果大家在自己的项目里面需要引用该项目代码,请在项目里面申明协议和版权信息。

开发语言与框架:

  • 编程语言:Python3.6 + HTML + JScripts
  • 前端Web框架:Bootstrap
  • 后端Web框架:Django
  • 后端Task框架:Celery + Redis

OpsManage环境要求

  • 编程语言:Python 3.6
  • 操作系统:CentOS 6+
  • Ansible版本:2.6 +
  • 部署平台及节点服务器:Rsync 3+
  • MySQL版本:5.1-5.6 #如果用5.7

来源:https://github.com/welliamcao/OpsManage

----------------

walle – 瓦力 Devops开源项目代码部署平台 https://walle-web.io

功能强大,且免费开源的walle-web 瓦力终于更新2.0.0了!!!

walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。

2.0.0 占用了我几乎所有业余时间,精力与金钱付出换各位使用收益,望各位喜欢不吝顺手 star 以示支持,项目更好亦反馈予你。目前 2.0.0 已经发布,请保持关注,我会在公众号更新(在最下面)。

有推广资源(开源文章推荐、大会分享)的同学,请微信联系我,强烈需要帮助。另外,老版本已迁移到 walle 1.x 的同学务必不要再更新了,两个版本不兼容

Feature

  • gitlabRESTful API,类gitlab的权限模型。将来打通gitlab,良心的惊喜
  • 空间管理。意味着有独立的空间资源:环境管理、用户组、项目、服务器等
  • 灰度发布。呼声不断,终于来了
  • 项目管理。Deploy、Release的前置及后置hook,自定义全局变量;自带检测、复制功能,都贴心到这种程度了
  • websocket 实时展示部署中的 shell console,跟真的终端长得一样。
  • 完善的通知机制。邮件、钉钉
  • 全新的UI,我自己都被震憾到了,如丝般流畅

Architecture

Preview

 

 

Installation

来源:https://promagic.cn/walle-wali-devopskaiyuanxiangmudaimabushupingtai-https-walle-web-io.shtml

https://walle-web.io/

https://github.com/meolu/walle-web

----------------------------

JDeploy

JDeploy自动化部署平台

JDeploy是Java + Shell实现的基于Linux系统的自动化、可视化的项目部署平台,能部署Java服务、Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkins复杂的配置,只需要提供SVN/GIT地址即可部署项目。

JDeploy

JDeploy

JDeploy

JDeploy

JDeploy自动化部署平台部署

服务器环境:Linux(不支持Windows),需要Java环境和Maven环境,支持javamvnsvngit命令。

创建数据库(MySQL)

运行SQL文件创建数据库:doc/sql.sql

Shell脚本

JDeploy自动化部署平台是基于Shell脚本实现。

Java项目部署Shell脚本:doc/shell/javadeploy

Java Web项目部署Shell脚本:doc/shell/javawebdeploy

Shell脚本的目录位置需要配置在config.properties中。

Jetty

JDeploy自动化部署平台Java Web项目部署是基于Jetty服务器的。

需要自行下载Jetty服务器,并在config.properties中配置Jetty目录下start.jar路径。

配置文件

配置文件:src/main/resources/config.properties

需要配置数据库连接信息、Shell脚本位置、Jetty位置、项目部署位置。

部署

以上配置完成后,将项目部署在Jetty/Tomcat服务器上即可。

登录JDeploy

部署成功后,默认登录用户名:admin,密码:1234abcd。JDeploy使用Spring Security登录验证,配置文件:src/main/resources/springSecurity.xml,可以根据部署需求灵活配置。可参考博客:http://xxgblog.com/2015/09/06/spring-security-start/

Java项目部署

新建项目

在“Java项目部署”选项中点击“创建”按钮,进入创建页面。需要填写“项目名称”、“SVN/GIT地址”、“Maven profile”,例如:

项目名称:JDeploy测试Java项目

SVN地址:http://code.taobao.org/svn/jdploy_java_deploy_test/

Maven profile:Maven打包时使用的pom.xml中的profile,如果不需要可以为空

Maven module:使用Maven模块化项目时部署模块的模块名,非模块化项目可以为空

部署项目

在项目详情页面点击“部署”按钮,会从SVN中检出最新版本代码,并打包运行。

重启和停止

如果项目已经完成部署,可以通过点击“重启”或者“停止”按钮来重启或停止。

查看运行状态和显示日志

可在“运行状态”面板中查看程序运行状态,点击“查看日志”可以查看程序在控制台输入的日志。

对Java项目要求

DEMO:http://code.taobao.org/svn/jdploy_java_deploy_test/

1、使用Maven管理项目,通过mvn clean package可以打可运行的jar包。

2、jar包可以通过java -jar xxx.jar直接运行(包含依赖包,并配置好main方法所在Class)。

建议使用maven-shade-plugin插件:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-shade-plugin</artifactId>
	<version>2.3</version>
	<executions>
		<execution>
			<phase>package</phase>
			<goals>
				<goal>shade</goal>
			</goals>
			<configuration>
				<transformers>
					<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
						<mainClass>com.xxg.jdeploy.test.javadeploy.Main</mainClass>
					</transformer>
					<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
						<resource>META-INF/spring.handlers</resource>
					</transformer>
					<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
						<resource>META-INF/spring.schemas</resource>
					</transformer>
				</transformers>
			</configuration>
		</execution>
	</executions>
</plugin>

Java Web项目部署

新建项目

在“Java Web项目部署”选项中点击“创建”按钮,进入创建页面。需要填写“项目名称”、“contextPath”、“端口号”、“SVN/GIT地址”、“Maven profile”,例如:

项目名称:JDeploy测试Java Web项目

contextPath:/jdploytest(也可以填写'/')

端口号:8080

SVN地址:http://code.taobao.org/svn/jdploy_javaweb_deploy_test/

Maven profile:Maven打包时使用的pom.xml中的profile,如果不需要可以为空

Maven module:使用Maven模块化项目时部署模块的模块名,非模块化项目可以为空

部署项目

在项目详情页面点击“部署”按钮,会从SVN中检出最新版本代码,并打包运行。

重启和停止

如果项目已经完成部署,可以通过点击“重启”或者“停止”按钮来重启或停止。

查看运行状态和显示日志

可在“运行状态”面板中查看程序运行状态,点击“查看日志”可以查看程序在控制台输入的日志。可用浏览器访问http://ip:port/contextPath。

对Java Web项目要求

DEMO:http://code.taobao.org/svn/jdploy_javaweb_deploy_test/

使用Maven管理项目,通过mvn clean package可以打成war包。

SVN/GIT配置用户密码

如果SVN需要用户密码访问,可以这样配置:http://code.taobao.org/svn/test/trunk --username yourusername --password yourpassword

如果GIT需要用户密码访问,可以这样配置:https://yourusername:yourpassword@git.coding.net/wucao/test.git

 

https://github.com/wucao/JDeploy

-------------------

开发事半功倍,25款最好用的自动化软件部署工具|附下载地址

选择一个号的软件部署工具是一个很棘手的问题,因为对一个开发团队来说,对于他们适合的工具可能无法满足另外一个团队的需求,本文收集了25个最好的软件部署工具,用以帮助多个开发团队简化他们的工作流程,优化效率以交付质量最高的软件。

1 ElectricFlow

ElectricFlow Cloud可以帮软件开发、交付并定时更新的平台,帮助建模、自动化和跟踪云原生、容器和遗留应用的部署。

主要特点:

构建和部署Microservices查看发布状态和里程碑日期自动化并跟踪云原生、容器和遗留应用程序部署

地址:http://electric-cloud.com/products/electricflow/

2 PDQ Deploy

PDQ Deploy提供了远程安装软件或不定到Windows系统的能力,预构建及时部署包可用于Adobe Flash、Java、Firefox等应用程序,并可用于所有计算机。

主要特点:

自定义安装同时安装到多个计算机实时状态监控

地址:https://www.pdq.com/pdq-deploy/

3 Octopus Deploy

Octopus部署是一个自动化系统,旨在简化ASP的部署,.NET应用程序、Windows服务和数据库,它是软件开发人员能够自动化应用程序部署,无论是在线下还是在云的环境中。(另:数人云也有一个分布式任务调度平台名为Octopus,提供分布式定时作业、消息调度作业以及本地作业的统一管理。地址:https://www.shurenyun.com/octopus.html)

主要特点:

仪表板显示部署状态简便的安装在站点或云服务商自动部署虚拟机

地址:https://octopus.com/

4 Ansible Tower

红帽的AnsibleTower是一个大型的软件系统,可以自动化软件供应、配置管理和软件部署,帮助扩展IT自动化、管理复杂的部署和生产效率。

主要特点:

可视指示板包括:状态、作业活动和作业快照Playbooks允许多个工作流被链接在一起API和命令行接口工具基于角色的访问控制作业调度集成的通知图形化的库存管理

地址:https://www.ansible.com/tower

5 Chef

Chef可以管理跨服务器的基础设施,服务器基础结构被视为软件代码,而Chef能进行部署更新、管理测试管理版本等工作,通过将基础设施转变为灵活可读可版本可测试的代码,使用Chef能够管理任意数量的服务器。

主要特点:

管理数据中心和云环境作为一个基础设施快速地将工作负载迁移到云承诺与任何提供者的集成

地址:https://www.chef.io/chef/

6 AWS CodeDeploy

AWS CodeDeploy是来自Amazon Web的服务,它将代码自动化部署到任何实例,适用于任何平台、语言和应用,AWS CodeDeploy使快速发布新特性更容易,有助于避免应用部署期间的宕机时间,并处理更新应用的复杂性,AWS CodeDeploy可以自动部署软件。

主要特点:

自动化的、可重复的部署集中控制在部署期间仍然可以访问应用程序

地址:https://aws.amazon.com/cn/codedaeploy/

7 Codeship

Codeship是一个持续集成和交付平台。当代码库更新时,它会自动测试并部署任何代码更改。

主要特点:

支持Docker的支持并行部署和测试通过SSH访问和命令行接口进行调试

地址:https://codeship.com/

8 AppVeyor

ppVeyor是一个持续集成和交付云服务且可以使用自动测试的窗口化工具。

主要特点:

无需安装或维护开发人员使用UI或YAML构建Configs快速建立在专用硬件和SSD驱动器上多分支的构建工作人员和社区支持现收现付价格

地址:https://www.appveyor.com/

9 Bamboo

Atlassian的Bamboo是一个持续集成服务器,可以自动化应用程序和通用软件的发布管理,允许团队建立一个流水线的构建交付。它将自动化的构建、测试和发布与集成的工作流联系起来。移动开发者可以将他们的应用程序部署回苹果商店。

主要特点:

与许多平台的语言不可知集成专门的代理专注于特定的构建项目完整的报告即将发生的代码变更和问题

地址:https://www.atlassian.com/software/bamboo

10 CircleCI

CircleCI是一个持续集成和交付平台,它支持Ruby on Rails、Sinatra、Node、Python、PHP、Java和Clojure。可以使用持续集成和持续交付来自动化软件开发过程。

主要特点:

完全自定义的构建环境可定制的自定义仪表板与AWS、Heroku、谷歌云以及其他的集成使用SSH或本地构建进行调试

地址:https://circleci.com/

11 Travis CI

Travis CI是一个开源的持续集成服务,它可以自动化测试和部署GitHub项目中的代码。

主要特点:

Linux、Mac和iOS支持运行时可查看测试通过电子邮件、Hipchat或Slack进行通知广泛的编程语言的选择支持Linux、Mac和iOS支持API和命令行接口可用

地址:https://travis-ci.com/

12 Distelli

Distelli是一组专门用于Kubernetes集群的软件部署工具,但可以与任何云服务或物理服务器一起使用。

主要特点:

自动构建Docker映像自动化软件部署将软件推向多个云

地址:https://www.distelli.com/

13 Jenkins

Jenkins在一个开源的自动化服务器上提供持续交付和持续交付工具。插件结构支持构建、部署和自动化软件项目。Jenkins可以轻松地跨多个机器分布工作,帮助驱动构建、测试和跨多个平台的部署更快。

主要特点:

数以百计的可用插件持续集成和持续交付简单的安装和配置安装包可用于Windows、Mac OS X和其他类似unix的操作系统Web界面提供了简单的配置和错误检查

地址:https://jenkins.io/

14 Codenvy

Codenvy是一个在防火墙后面运行的开发人员工作区,可以将软件部署到数据中心或任何云。团队可以开发可移植Docker运行时的代码。

主要特点:

支持Docker的环境在任何操作系统上与用户共享工作区使用桌面编辑器或浏览器IDE开发定义团队的资源限制

地址:https://codenvy.com/

15 Deploybot

DeployBot是一个自动化的软件部署应用程序,它将代码从GIT仓库部署到任何地方。部署可以自动或手动触发,在部署过程中,可以使用预定义的或完全自定义的Docker容器在服务器上执行或编译代码。

主要特点:

API托管在为每个客户服务的DeployBot子域上预定义或自定义Docker容器可用能够回滚有问题的版本当代码准备好时触发部署

地址:https://deploybot.com/

16 UrbanCode Deploy

IBM的UrbanCode部署是一个应用程序发布自动化工具,它可以自动化软件部署到本地和基于云的环境。该软件允许在需要的时候(按需或按进度)对分布式数据中心、云和虚拟环境进行无缝部署。

主要特点:

自动化部署过程可以通过拖放接口来构建企业级安全性和可伸缩性

地址:https://www.ibm.com/us-en/marketplace/application-release-automation

17 TeamCity

JetBrains的TeamCity是一个持续集成和软件部署服务器,服务器和代理都有Docker镜像。它提供了广泛的面向开发的特性,以将团队性能提升到下一个级别。可以从超过100个随时可用的插件中添加特殊的附加功能。

主要特点:

从安装开始几分钟内开始支持没有插件或修改的第三方工具全面的版本控制系统定制和扩展服务器

地址:https://www.jetbrains.com/teamcity/

18 Buildbot

Buildbot是一个作业调度平台,可以用来自动化软件构建、测试和发布。它可以自动化软件开发的所有阶段。

主要特点:

跨多个平台并行执行开源平台与所有主要操作系统兼容

地址:https://buildbot.net/

19 GoCD

ThoughtWorks的GoCD是一个开放源码的连续交付工具,可以处理持续集成、测试和软件部署。

主要特点:

嵌入式数据库是可扩展的,带有PostgreSQL addon企业工具插件所有错误修复和安全补丁的通知完全支持所有定价层

地址:https://www.thoughtworks.com/go/

20 Microsoft Team Foundation Server

Microsoft Team Foundation Server是一组协作软件开发工具,用于共享代码和ship软件。它集成了现有的IDE或编辑器,使跨功能团队能够有效地工作于各种大小的软件项目。

主要特点:

版本控制与敏捷流程集成使用任何编程语言或IDE自动化部署和跟踪

地址:ttps://www.visualstudio.com/zh-hans/tfs/

21 Automic

来自CA技术的自动化将软件开发和持续集成工具应用于后端系统。这使得软件开发在敏捷和稳定的环境中发生。

主要特点:

自动化持续交付和发布管理完整的堆栈交付插件市场来帮助定制工具提供Siebel服务器和补丁

地址:https://automic.com/products/application-release-automation

22 RapidDeploy

MidVision的RapidDeploy是一个用于DevOps团队和企业持续交付的软件部署和发布自动化工具。它始终提供高容量的部署,允许组织在不影响质量的情况下加速发布周期。

主要特点:

无需编写代码就可以自动化进程管理任务的图形界面发布管道允许用户管理多个项目和目标

23 JuJu

Canonical的JuJu自动化云基础设施和部署应用程序架构。该工具使用符咒、脚本集合,简化配置、管理、维护、部署和可伸缩性。

主要特点:

部署到所有主要的云提供商或私有硬件尺度对需求开放源码操作代码与Kubernetes或即时Hadoop与Spark一起工作

地址:https://jujucharms.com/

24 Drone.io

Drone.io是云端的一个持续集成和部署服务,它的目的是自动构建、测试和部署您的代码,无需人工帮助。

主要特点:

与Github、Bitbucket、Heroku等无缝集成开源添加功能和插件通过电子邮件、Hipchat和Slack的通知

地址:https://drone.io/

25 数人云Octopus

及本地作业的统一管理。Octopus 基于数人云 DataMan OS 容器云平台,传统的定时作业程序可以无缝迁移到容器云上运行,通过取代传统的Linux Cron/Spring Batch Job/Quartz,做到分布式环境下批量作业任务的全域统一配置,统一监控,任务高可用以及分片并行。

主要特点:

无缝代替 Linux Cron Job 分布式任务调度 本地任务调度 消息任务调度

地址:https://www.shurenyun.com/octopus.html

选择合适的软件部署工具可以对团队的生产力产生实质性的影响。

来源:   https://cloud.tencent.com/developer/article/1049074