前言
上一篇写的 一般devops中 研发部分的流程
这一篇记录一下 我自己喜欢用的一些devops的工具
https://www.cnblogs.com/zgq123456/articles/12015027.html 这个博客里面基本上算是包含了大多数工具的名字了 真正使用的没这么多
个人常用工具列表
名称 | 功能 | 备注 |
---|---|---|
jenkins | 持续集成工具 | 来控制整个持续集成流程和调度的 建立工作流管道、`使用script pipe模式 可以实现复杂的需求 |
gitlab | git仓库+缺陷跟踪+持续集成 | gitlab 主要功能是做git仓库 也可以做持续集成相关工作 相对来说比jenkins简单一点 |
github | actions(持续集成)、packages(成品仓库)、issue(缺陷跟踪)等等功能 | github没啥说的 功能齐全 基本上包含整个devops过程 |
nexus | 成品仓库 | 用来保存和管理各种打包之后的文件 如 jar、npm 包、 docker 镜像、yum/apt包等等 |
harbor repository | 镜像仓库 | 保存和管理docker镜像的仓库 |
docker | 容器 | 使用docker作为基础容器 |
swarm | docker编排工具 | 小规模集群、简单场景下使用 例如10台以内服务器 |
k8s | 容器编排工具 | 大规模集群、复杂场景使用,不局限于docker容器 可以使用其他符合oci标准的容器 |
jira | 缺陷管理工具 | |
禅道 | 项目管理工具 | 跟踪管理整个项目的工具 |
confluence | 文档管理工具 | |
rancher | k8s管理工具 | 用来管理k8s的工具 |
postman | 接口测试工具 | 可以配合server 做自动化测试 |
jmeter | 测试工具 | 编写jmeter脚本进行自动化测试 |
zabbix | 监控工具 | 主要监控服务器相关参数 |
prometheus | 监控 | 主要监控k8s和应用 |
grafana | 仪表盘 | 配合prometheus使用查看监控数据 |
efk | elastic search + filebeat + kibana | 日志组件 配合mq使用更好 |
sonar qube | 代码质量检测 | 代码质量检测 和依赖漏洞检测(owasp) |
上面的工具都是业内相关的有名的工具 直接去对应官网查看文档即可
常用工具组合
gitlab + nexus + k8s + jira/禅道 + postman/jmeter + efk +监控组件(zabbix、prometheus+grafana) + sonar qube
gitlab 作为代码仓库 + 持续集成 工具 也可以做部分缺陷跟踪功能 但是没有jira 和禅道那么完善
nexus 做代码软件包 容器镜像的仓库
k8s 做运行环境和容器编排管理
jira或者禅道用来做缺陷跟踪和项目管理
postman或者jmeter 用来做自动化测试
efk 提供实时日志
监控组件(zabbix、prometheus+grafana) 用来监控服务器 应用 和报警等相关功能
sonar qube 代码质量检测和依赖漏洞检测平台svn/git + jenkins + jira/禅道 + postman/jmeter + nexus + harbor repository + k8s/swarm + efk +监控组件(zabbix、prometheus+grafana) + sonar qube
svn或者git 作为代码仓库
jenkins 持续集成 工具
nexus 做代码软件包的仓库
harbor repository 做容器镜像仓库 因为harbor 管理容器镜像比较方便一点
k8s/swarm 做运行环境和容器编排管理
jira或者禅道用来做缺陷跟踪和项目管理
postman或者jmeter 用来做自动化测试
efk 提供实时日志
监控组件(zabbix、prometheus+grafana) 用来监控服务器 应用 和报警等相关功能
sonar qube 代码质量检测和依赖漏洞检测平台
总结
在做devops相关建设的时候 总是要面临很多选择
按照优先级 优先做到快速发布
后面慢慢补充 缺陷跟踪 代码审查 服务监控
要经常看各种工具的更新日志 方便进行升级调整适配
总的来说 就是合理利用工具提高 代码编写到生产产出的速度 利用自动化工具减少人工介入 避免重复性劳动