DevOps工具链

释放双眼,带上耳机,听听看~!
  • DevOps 工具链

  • 版本控制

    • IDE
    • 任务管理
    • 依赖管理和构建工具
    • 中央仓库
    • 代码质量分析
    • 持续集成与持续交付
    • 自动化配置管理
    • 自动化测试
  • 单元测试
    * 行为驱动开发测试 (BDD Test)
    * 服务测试
    * Web UI测试
    * 压力测试

    • 日志采集分析
    • 应用监控
    • DevOps dashboard
    • 容器化
    • 容器云(集群)
    • 公有云平台
    • 国内镜像
    • Linux版本
    • 虚拟化
  • 持续更新中,欢迎补充!

  • 其它资源

DevOps 工具链

DevOps工具链思维导图:

版本控制

推荐使用基于Git的版本控制系统,比如GitLab , GitHub 和 BitBucket。

这些基于Git的版本控制系统,除了有Git的功能之外,还提供了Protect branch,Merge Request/Pull request, Code Review,和其他DevOps工具集成等增值功能。

GitLab有开源的社区版GitLab CE,是目前小团队自建Git版本控制系统的主流选择。

GitHub Enterprise功能更为强大,但是是收费的。

IDE

对Java开发来说,推荐使用Intellij Idea和Eclipse。

Intellij Idea有免费的社区版,是目前使用最广泛的Java IDE。

任务管理

最好用的任务管理是JIRA, 提供了Agile Dashboard、Agile工作流等功能来支持敏捷开发。

小团队可以选择免费的任务管理系统,比如Redmine。

依赖管理和构建工具

对Java开发来说,Maven和Gradle是使用最为广泛的依赖管理和构建工具。

中央仓库

Nexus是使用最为广泛的中央仓库, Nexus + Maven 是黄金搭档。

小团队可以选择免费的Nexus OSS Repository。

代码质量分析

SonarQube 集成了代码静态分析,代码风格检查和代码测试覆盖率检查。

Jenkins + SonarSanner + SonarQube 可以在持续集成中对代码进行静态分析。

另外也可以在IDE中使用SonarLint, PWD, FindBugs和Checkstyle来作代码静态分析。

持续集成与持续交付

Jenkins是使用最为广泛的持续集成(CI) 和持续交付(CD) 工具。

CI/CD工具是DevOps工具链的核心,Jenkins Pipeline是核心中的核心。

另一个选择是TeamCity,不过是收费的。

自动化配置管理

Ansible 是一款著名的自动化配置管理工具。

Jenkins + Ansible可以用来做持续部署。

其他的选择还包括Puppet, Chef和SaltStack。

自动化测试

单元测试

对Java开发来说,JUnit是最著名的单元测试框架,另外一个是TestNG。

Jacoco可以用来检查单元测试覆盖率。

行为驱动开发测试 (BDD Test)

对Java开发来说,Cucumber 是一个著名的BDD Test框架。

服务测试

PostMan 是一款免费且功能强大的API测试工具。

Jenkins + NewMan + PostMan 可以用来做自动化API测试。

Web UI测试

Selenium 是著名的自动化UI测试框架,配合无头浏览器来使用。

压力测试

JMeter是一款开源的压力测试工具。

日志采集分析

主流的日志采集分析框架有ELK和EFK。

  • Elasticsearch
  • Logstash
  • Flutentd
  • Kibana

应用监控

应用监控框架包括:

  • Zabbix
  • Nagios
  • Prometheus

DevOps dashboard

Grafana 是一款开源的可视化面板框架。

可以使用Grfana结合调用其它DevOps工具的API来实现一个定制的DevOps dashboard。

CapitalOne 银行有一个开源的DevOps dashboard实现:Hygieia

容器化

Docker 是使用最广泛的容器化技术。

使用Docker Compose可以避免在docker run 后面加上长长的参数列表,通过docker-compose.yaml 配置文件来配置运行参数,也可以组合几个容器在一个docker-compose.yaml中。

除了使用官方的Docker private registry,也可以用Harbor来搭建Docker私有镜像仓库。

容器云(集群)

Kubernetes (简称k8s)是使用最为广泛的容器编排技术。

Kubernetes提供了Dashboard来通过界面对服务和容器进行操作。

公有云平台

常用的公有云平台包括:

  • AWS 亚马逊云
  • Azure 微软云
  • 阿里云
  • 腾讯云
  • 华为云

公有云平台也有提供DevOps接入服务。

国内镜像

Yum源、Docker镜像、Maven中央仓库等都有对应的国内镜像,详情请搜索。

Linux版本

Linux 64位 版本。

推荐使用 Ubuntu 16.0.4 及以上,或CentOS 7及以上版本。

虚拟化

可以使用VMware或Virtual Box在本机搭建测试环境,比如在Windows电脑上通过VMWare worksation安装Linux CentOS7,比如在Mac Book上通过VMware fusion安装Linux Ubuntu等。

持续更新中,欢迎补充!

本文介绍的DevOps 工具链大部分是作者亲自使用过,并在企业DevOps实践中使用过。

部分工具是FYI,需要读者自己去了解。

其它资源

  • DevOps Bookmarks 是一个专门收集DevOps工具和框架的网站
  • Dev-ops tools by Richard Kraaijenhagen 也是一个专门收集DevOps工具的网站
  • 高效运维社区整理的DevOps工具链 是目前主流使用的开源DevOps工具链

给TA打赏
共{{data.count}}人
人已打赏
安全运维

故障复盘的简洁框架-黄金三问

2021-9-30 19:18:23

安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索