从DevOps到AIOps(三):持续集成工具

从DevOps到AIOps(三):持续集成工具

书接上文,本回我们介绍DevOps工具集中的持续集成工具,持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

持续集成是自动完成的,保证每个时间点提交上去的代码可以成功集成,可以使团队更好地应对需求不明确,或者频繁变更的情况。

常用的持续集成工具包括以下几种:

一、Jenkins

Jenkins是一个开源的持续集成工具,可以实现软件的自动化编译、测试和部署。Jenkins以其易用强大的任务调度功能、丰富的插件库在持续集成工具领域占领了大片江山。

自Jenkins V2.0以后,Jenkins引入了pipeline概念,实现了工作流即代码(Pipeline-as-code),持续集成的工作流通过文本文件Jenkinsfile实现了像代码一样的版本管理,可以将持续集成工作流文件Jenkinsfile作为应用软件源代码的一部分,纳入版本库中进行版本管理和代码评审。

Jenkins的特点:

(1) 用于监控持续重复的工作。

(2) 可以做到持续的软件版本发布、测试;监控外部调用执行的工作。

(3) 可以实时地监控集成中存在的错误。

(4) 提供详细的日志文件和提醒功能。

(5) 可以用图表的形式形象的展示项目构建的趋势和稳定性。

Jenkins完成的工作:

(1) 流水线列表:显示每个流水线的总体状态。

(2) 构建项目:自动化打包,避免本地配置出错而导致打包失败等异常情况。

(3) 跑测试用例检测bug:自动化测试,例如:只要代码发生改动,就运行回归测试的所有用例。

(4) 静态代码检测:检测基本的代码问题,比如潜在的内存泄漏等。

(5) 部署:随时部署,可以设定在打包完成之后的操作。

(6) GUI:支持在GUI上对命令的参数进行修改,并在改写后运行。

二、TeamCity

TeamCity是一款成熟的CI服务器,来自JetBrains公司。它包括服务器端和客户端,目前支持Java,.Net项目开发。TeamCity提供一系列特性可以让团队快速实现持续继承:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等,可以让工作团队快速享有持续继承带来的效率提升、高质量的软件保障。

三、Bamboo

Bamboo是澳大利亚公司Atlassian旗下的一款持续集成、持续部署、持续交付的工具。它很好的与Atlassian旗下的Bitbucket、Jira工具进行集成,构建一套需求、开发、集成、交付的DevOps技术架构平台。Bamboo支持多步骤的构建任务安排,聚集自动化测试,可以使用并行的自动化任务来提升团队的敏捷开发能力,帮助团队更快更便捷地发现错误。Bamboo有很多预构建的功能,而这些功能在Jenkins里得自己手动搭建。这也正是Bamboo的插件更少的原因。Bamboo可以节省很多配置的时间。它的UI也更为直观,有提示,自动补全和其他有用的特性。

Bamboo的特点:

(1) 简单的用户界面,容易安装。

(2) 自动检测你的设置,如果server上使用了mave,ant或者是java,Bamboo会自动检测他们。

(3) 连续的日志,检测build的coloue coded日志,容易显示所有项目。

四、CircleCI

CircelCI 是一个基于云的 CI 解决方案,支持多平台的,适合分布式,有很多定制选项。它支持许多不同的语言,包括 Java、Python、JS、Haskell、Ruby on Rails 和 Scala,不过他只支持 GitHub 代码管控。

CircelCI 拥有庞大的用户群,是最常用的 DevOps 工具之一,每天处理超过一百万个构建。

CircleCI 的用户非常欣赏其独特的仪表盘,其中包含关于团队工作方式和代码运行方式的统计数据和数据,帮助他们提高生产力并缩短上线时间。

你可以免费使用,一旦有更高的需求就可以花少量钱提供更多的功能。

五、GOCD

虽然从名字来看这一个更像是一个 CD(持续交付)工具,但 GoCD 实际上是一个开源 CI 服务器,用于轻松地可视化和构建复杂的工作流。它为构建 CD 管道提供了直观的界面,并以安全的方式将软件部署到生产环境中。

它可以通过管道进行版本控制。还支持 JSON 和 YAML 格式,使您能够在管理配置时跳过界面。它还支持并行和顺序执行,允许团队领导轻松配置依赖项。

GoCD 可以实时、从端到端地查看可视化工作流。GoCD 有社区和插件系统,能更有弹性的扩展功能。

六、Codeship

Codeship是一个简单灵活的 CI 工具,旨在通过快速持续集成解决方案帮助小型和成长型团队。CodeShip 几乎可以与任何工具、服务或云集成,让团队领导添加他们需要的功能,比如如部署、通知、代码覆盖、安全扫描、版本控制等。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年8月7日
下一篇 2022年8月7日

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息