课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
DevOps是随着互联网的不断发展而逐渐被程序员所接受的一种新的编程开发方式,而今天我们就一起来了解一下,掌握DevOps编程需要熟练应用的工具有哪些。
1、Git
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不用联网,因为版本都在自己电脑上。
协同方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git是免费、开源的,初Git是为辅助Linux内核开发的,来替代BitKeeper。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
模式上比SVN更加复杂。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
2、Docker
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。
Docker容器通过Docker镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
3、Selenium
Selenium是一种开源的基于WebUI自动化测试架构。
Selenium是用于测试Web应用程序用户界面(UI)的常用框架。它是一款用于运行端到端功能测试的超强工具。
您可以使用多个编程语言编写测试,并且Selenium能够在一个或多个浏览器中执行这些测试。
4、Jenkins
Jenkins是一个用Java编写的开源的自动集成服务器。Jenkins可以自动化流水线的不同阶段。Jenkins可用于持续集成。
为了给你一个直观感受,想象一下有这样一个场景:Jenkins服务器将我们应用程序划分成不同阶段,使其在所有条件部署好之前,可以提前开放给测试、QA。Jenkins服务器贯穿整个CI/CD管道。它可以自动化整个CI/CD过程,这意味着设计人员无论在什么地方提交代码变更,该代码都将实时开放给测试服务器或QA组。
此时,他们可以即刻就这些变化提出建议。Microsoft、Redhat和Rackspace都在使用Jenkins,并且他们都提供一些使用Jenkins的示例。
5、Ansible
Ansible是一个开源的自动化运维工具,它可用于配置管理和应用程序部署。Ansible是控制由许多机器组成的集群自动化的基础Ansible抛弃了客户端/服务器模式。
Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
主要包括:
(1).连接插件connectionplugins:负责和被监控端实现通信;
(2).hostinventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3).各种模块核心模块、command模块、自定义模块;
(4).借助于插件完成记录日志邮件等功能;
(5).playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
6、Puppet
Puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。
Puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
Puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其新的配置信息,保证和该配置信息同步。
每个puppet客户端每半小时(可以设置)连接一次服务器端,下载新的配置文件,并且严格按照配置文件来配置客户端。配置完成以后,puppet客户端可以反馈给服务器端一个消息.。如果出错,也会给服务器端反馈一个消息。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。