DevStream:开源的DevOps工具链管理器(DTM)

260 阅读4分钟

创业园区

DevStream,它到底是什么?

TL;DR: DevStream(CLI工具名为dtm )是一个开源的DevOps工具链管理器。

想象一下,你正在开始一个新的项目或组建一个新的团队。在写第一行代码之前,你必须弄清楚运行有效的SDLC过程和从开发到部署的工具。

通常情况下,你需要以下几个部分来有效工作:

  • 项目管理软件或问题跟踪工具(JIRA等)。
  • 源代码管理(GitHub、Bitbucket等)。
  • 持续集成工具(Jenkins、CircleCI、Travis CI等)。
  • 持续交付/部署工具(Flux CD/Flux2、Argo CD等)
  • 秘密和证书的单一真相来源(秘密管理器,如HashiCorp的Vault)。
  • 一些用于集中记录和监控的工具(例如,ELK、Prometheus/Grafana)。

这个清单还可以继续下去,但你会明白的

在创建一个有效的、个性化的工作流程方面,有许多挑战:

  • 有太多的选择。哪个是最好的?没有 "放之四海而皆准 "的答案,因为这完全取决于你的需求和喜好。
  • 不同部分之间的整合是具有挑战性的,造成了孤岛和碎片化。
  • 软件世界发展迅速。今天最好的东西明天可能就没有意义了。如果你想换掉一些部件或工具,管理起来会很有挑战性,而且需要大量资源。

公平地说,有一些集成产品可能包含了你可能需要的一切,但它们可能并不完全适合你的具体要求。因此,有可能,你仍然想出去做研究,找到最好的作品,并自己将它们整合起来。也就是说,选择、启动、连接和管理所有这些部件需要大量的时间和精力。

你可能已经看到了我们要做的事情......

我们想让建立这些个性化的、灵活的工具链变得简单,所以我们建立了DevStream,一个开源的DevOps工具链管理器。

想一想Linux内核与不同发行版的关系。不同的发行版提供不同的软件包,这样你就可以随时选择最适合你需要的。

或者,想想yumapt 、或apk 。你可以使用这些软件包管理器为任何新环境轻松设置你最喜欢的软件包。

DevStream的目标是成为DevOps工具的软件包管理器。

更加雄心勃勃的是,DevStream希望成为Linux内核,围绕它可以用各种组件创建不同的发行版,这样你就可以为SDLC工作流程的每个部分始终拥有最好的组件。

为什么dtm

问:CLI工具被命名为dtm ,而工具本身被称为DevStream。这到底是什么?一致性在哪里?

答:灵感来自于 git,名字是(取决于你的心情):

  • devstream的一个对称的、科学的首字母缩写。
  • "devops toolchain manager":你的心情很好,而且它确实对你有用。
  • "对我来说是死的":当它崩溃时。

为什么使用DevStream?

不再需要手动的curl/wget下载、apt安装、helm安装;不再需要为了正确安装一个工具而在本地进行实验和玩耍。

在一个人类可读的YAML配置文件中定义你所需要的DevOps工具,只需按下一个按钮(一个单一的命令),你就会有你的整个DevOps工具链和SDLC工作流程了。五分钟。一个命令。

想安装另一个不同的工具来试一试?没问题。

想删除或重新安装工作流程中的某个特定部分?DevStream为您提供了支持!

快速启动

如果你想快速入门,现在就跟着我们的快速入门文档。

最佳实践工具链集成

DevStream 支持对许多工具的管理。你可以灵活地结合一些工具来满足你所需要的DevOps工具链。

是的,如果你问我是否有任何可以开箱即用的推荐实践。

我很高兴地告诉你,我们有,而且我们正在不断增加更多可能的组合。

所以我们非常欢迎你告诉我们你期望的组合。

支持的DevOps工具

DevStream已经支持许多工具,而且还在不断增加。关于支持的工具的完整列表,请查看我们的插件列表文件。

或者,运行dtm list plugins ,它将显示所有可用的插件。

开发信息

前提条件

  • Git
  • Go (1.18以上)