Atomist 是一家软件交付自动化公司,近期发布了他们的软件交付机制(SDM) 1.0。
Atomist SDM 是一个云本地软件交付平台,专门针对于 Kubernetes 和 Spring 提供了额外的功能。
它为单独的服务提供了单独的流水线,以此来管理从提交到生产部署的交付,这些流水线包括步骤有代码格式化、漏洞扫描和针对准生产实例的测试。Atomist 最近开源了他们的 SDM,扩展了它的可用性,希望它能帮助团队实现软件交付的现代化,并提高可视性和可控性。
Atomist SDM 1.0 包括特性更新和为响应社区反馈所带来的增强。SDM 现在包括增强的审批、一个扩展包模型和日志流,以及对目标(SDM 中的基本操作)的进一步增强。SDM 1.0 还包括用于检查和修复常见编码问题、执行 Docker 构建和部署到 Kubernetes 等常见目标的内置目标。Atomist SDM 使团队能够自动化一些任务,例如对源代码应用一致的格式、管理变更日志、在修复程序部署到生产环境时标记问题、在评审和构建成功时自动合并 PR 以及更新存储库中的许可通知文件。它支持对交付过程进行编程,比如运行构建和集成测试、管理部署和回滚,以及发布工件,编写应用程序代码采用相同的工具和方法。联合创始人兼副总裁 Christian Dupuis 表示:
SDM 的主要思想是,构建或部署之类的操作应该以事件驱动,并在代码中定义,而不是混在一起的 YAML 定义和那些遗留在 CI/CD 工具中的 Bash 脚本。SDM 为交付的开发和执行交付的运行期提供了一个框架。
SDM 是一个开放、可扩展和可定制的框架。用户编写的目标实现可以与 Autofix、Build 或 KubernetesDeploy 等标准目标一起操作。自定义目标可以将已经存在的工具或 API 集成到交付过程中。Atomist SDM 可以从 Web 界面驱动,通过代码或通过 Slack 的 ChatOps 驱动,也可以通过 Atomist 的云主机自托管或访问。它使用 webhook 和 api 与 GitHub、Bitbucket、Jenkins、Docker、OpenShift 和 CloudFoundry 等流行工具集成。
在 Kubernetes 空间中,Atomist SDM 提供了在新镜像可用时创建新部署的功能,还提供了检测 ImagePullBackoff 或 CrashLoopBackoff 何时发生并自动回滚的功能。它还可以创建、修改和管理 Docker 构建配置和 Kubernetes 部署配置,同时提供基于角色的访问和审计跟踪。
在 Spring 空间,Atomist SDM 扩展包支持带有代码检查的 Spring Boot 项目的创建(直接在新库中)维护和交付,基于 Spring 指南添加和配置 Spring Boot 初学者,使用 Maven 或 Gradle 的 Spring Boot 的本地化部署支持,并支持部署到 Cloud Foundry 和 Kubernetes。
其他可用的扩展包包括:更改日志管理、代码度量、指纹识别代码、SonarQube 集成、CheckStyle 集成、Node.js、Docker 集成、运行持续集成构建、自动管理问题、Pulumi 集成、接收并处理 JFrog Xray 违规事件和 GitLab 集成。Redmonk 联合创始人詹姆斯•加弗纳(James Governor)表示:
SDM 所支持的核心(集成的、工程的、事件驱动的交付)是我所称的渐进式交付的基础。现代软件交付正在发生巨大的变化。现在,软件交付的工程是战略性的。
Atomist 首席执行官、Spring Framework 的创建者罗德•约翰逊(Rod Johnson)最近也发布了软件定义交付宣言,以认识到正确设计基础设施交付变得越来越重要。该宣言是由软件交付领域的多名专家编写的。
Atomist SDM 1.0 现在可以从 GitHub 上下载。Atomist 订阅服务对开源项目是免费的。您可以在这里加入 Atomist Slack 社区频道。
GitHub 地址:
https://github.com/atomist/sdm
查看英文原文:
https://www.infoq.com/news/2018/11/atomist-software-delivery-SDM
评论 1 条评论