首页 > 其他分享 >构建DevOps落地的自动化持续交付流水线的工具链

构建DevOps落地的自动化持续交付流水线的工具链

时间:2023-03-21 12:23:33浏览次数:46  
标签:集成 版本 交付 管理 DevOps 测试 自动化 流水线 工具

DevOps流程涉及到需求管理(包括需求的任务管理、进度管理等)、持续集成、版本管理、代码编译、测试、配置管理和监控等多项工作任务。DevOps需要构建相应的工具链,将工作任务自动化,才能实现自动化的持续交付流水线。

在这条工具链上,有多种工具可供选择,本文列举了可实现各工作领域工作自动化的主流工具。

 

一、需求管理

需求是软件的“源头”,对需求的管理、跟踪,也是对软件项目的管理。典型的工具包括:

1、JIRA

澳大利亚Atlanssian公司的产品,支持任务管理、计划管理、图标报告。

2、Kanboard,看板工具。

将故事卡片进行可视化,使用不同颜色区分不同类型的故事卡,将日常工作可视化。

支持拖拽。

引入在制品概念,提供在制品WIP(Work In Process)列,通过设定WIP上限数量,暴露问题,解决问题,从而提升交付速率和质量。

3、Rally

有2个版本:

(1)社区版(Community Edition),基于敏捷和精益的项目管理模式。免费试用版提供10个用户、5个项目同时使用。

(2)无限版(Unlimited Edition),基于云平台。15天试用,不限用户数。

 

二、持续集成

1、Jenkins

实现软件的自动化编译、测试、部署。

引入Pipeline概念,实现了工作流即代码(Pipeline as Code)。

2、Bamboo

澳大利亚Atlanssian公司的产品,实现持续集成、持续部署、持续交付的工具。

30天试用版。

3、Travis CI

可无缝的构建、测试GitHub上的项目。

通过.travis.yml文本文件实现工作流即代码(Pipeline as Code)的管理。

 

三、版本管理

版本是发布的基石,所有与发布相关的内容都需要版本管理。

1、Git

开源的分布式版本管理系统,基于数据设计存储。

2、GitHub

基于Web的Git仓库服务,是一个中央协作平台,当前托管了大量项目,可以使用GitHub进行开发、代码评审、bug跟踪等。

提供网页版的图形界面和桌面集成。

3、GitLab

类似GitHub,同时提供Wiki知识库功能和bug跟踪功能。

4、Subversion

是Apache许可证下的集中式开源版本管理工具,包含了CVS所有的功能。

5、Mercurial

跨平台的分布式版本管理系统,支持windows、Unix(FreeBSD、MacOS、Linux),使用Python语言开发。

 

四、编译工具

1、Ant

实现软件编译过程自动化,最早用于2000年的Apache Tomcat项目开发。

使用Java语言开发。

无法简便的支持频繁修改依赖关系的项目。

2、Maven

意思是知识的累加器,最早用于Java项目的自动化构建,功能单一。

3、Gradle

是Android Studio内置的封装部署工具,它改进了Ant 和Maven的缺点。

4、MSBuild

.NET框架下的构建工具,Visual Studio依赖MSBuild。使用Visual StudioIDE生成项目,MSBuild的项目文件会自动生成。

 

五、配置管理

1、chef对公司的服务器进行流水线式的任务配置和维护,能集成到主流云平台,如AWS、Open Stack、Azure。

2、Puppet

提供了一套标准的操作方式,实现软件的交付和维护

支持Unix和Window

3、Ansible

集成了多节点部署、执行ad hoc任务、配置管理功能

特别适合集群管理的机器。

被Redhat收购后,商业版Ansible Tower可以进行自动扩容、管理复杂的部署操作,工作流可以将配置的步骤可视化展示出来。

 

六、测试

1、Junit

针对Java代码级的单元测试工具

2、Selenium

支持多语言的测试脚本:Java、C#、Groovy、Perl、PHP、Python、Rubby

基于UI的测试,支持多种浏览器

支持移动应用测试,通过驱动,可以对Android 、IOS的UI进行测试

3、Cucumber

自动化验收测试,用户行为驱动开发模式(BDD)的测试工具。采用Given-When-then的格式创建一个.feature文件,包含给定的执行条件,Cucumber执行这个文件即完成一个测试用例。

测试用例的执行报告可以通过Junit的Junitreport模块生成。

4、FitNesse

自动化验收测试+web服务器+wiki,需求可以直接通过web浏览器的方式创建和修改,即wiki。在FitNesse里创建的需求,可以被FitNesse自动执行。

 

七、监控

1、Nagios

监控网络、系统、基础架构(主机、磁盘、进程)、节点

2、Zabbix

企业级健康,可监控上万台服务器、虚拟机的性能和状态。

 

 

标签:集成,版本,交付,管理,DevOps,测试,自动化,流水线,工具
From: https://www.cnblogs.com/data159/p/17239549.html

相关文章

  • 什么是DevOps
       DevOps是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。DevOps 就是开发(Development)、测试(QA)、运维(Operations)这三个领域的合并。DevOps是一种软件开发方法......
  • [计算机黑皮书]流水线概述
    内容来源:计算机组成与设计-硬件软件接口-原书第5版_13777443_(美)帕特森,(美)亨尼斯著_2015.07.pdf计算机黑皮书(191本):《神经计算原理》_11842123.pdf3D计算机图形学.原......
  • DevOps到底是个什么鬼
    前腾讯工程师,经历过大厂,也经历过创业!我已奔四,但我还在持续学习,持续成长!我非常乐意把我的经验和心得分享给你!我是阿铭,关注我,和我一起成长为技术大牛!↓↓↓↓↓关于De......
  • Azure DevOps Server 数据还原方式二:异地还原
    1.概述在前面的博客《AzureDevOpsServer数据备份》、《AzureDevOpsServer数据还原方式一:本地还原》中,我们详细介绍了如何在服务器中配置数据备份和本地还原。下面我......
  • Azure DevOps Server 数据还原方式一:本地还原
    1.概述在前面的博客《AzureDevOpsServer数据备份》中,我们详细介绍了如何在服务器中配置数据备份,通过增量和全量备份的方式确保系统数据的安全性。下面我们主要来介绍如......
  • DevOps|研发效能不是老板工程,是开发者服务
    有人说研发效能是老板工程。不是的,研发效能不是老板工程,它不直接服务于老板(虽然老板可能看一些报表),反而是服务于广大产研运(产品+研发+质量+运维)的同学,所以有的公司也把研......
  • 研发效能负责人/研发效能1号位 |DevOps负责人
    想要做好业务,老板们除了要梳理好公司级别的业务目标,公司的组织架构,还要搭个有产出的班子,也就是找负责人、建团队,让组织架构充实起来。搭班子最重要的就是把负责人找到,就是......
  • DevOpsCamp 第三期(202302-b) 作业发布
    DevOpsCamp第三期(202302-b)作业发布本来这期想直接开始写dnscli命令行工具的,但是在准备的时候发现,还是把interface和Context说一下会比较好。另外,最近比较忙,所......
  • 对DevOps的认识
    DevOps维基百科定义DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构......
  • 关于DevOps
    DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。 DevOps来源于敏捷开发的持续发展,是......