Dagger 为 CI/CD 提供开发者功能并开放 Daggerverse

Dagger 项目发布 0.10 版本,推出 Dagger Functions 和 Daggerverse

开源项目 Dagger 致力于实现“随处运行的 CI/CD 即代码”,最近发布了 0.10 版本。该版本引入了 Dagger FunctionsDaggerverse,旨在简化 CI 脚本并为开发者提供更高效、灵活的流水线构建方式。

Dagger Functions 的核心功能

Dagger Functions 是 Dagger 核心操作的接口,每个核心操作都通过 API 以函数的形式暴露。0.10 版本新增的功能允许开发者编写自定义函数,并将其打包为可重用的模块,直接从 CLI 调用。具体包括:

  1. 自定义函数编写
    开发者可以使用 Dagger SDK 编写 Dagger Functions,支持 Go、Python 和 TypeScript 等语言。Dagger Engine 在运行时将函数编译为专用容器,并暴露自定义的 GraphQL API 以供调用。这使得函数可以像 Dagger 的核心功能一样,动态组合到流水线中。函数可以调用其他函数,且无需使用相同的编程语言。
  2. 可重用模块
    Dagger Functions 设计为安全可重用,促进社区协作。开发者可以将函数打包为 Dagger Modules 并轻松分享和使用。这些模块以源代码形式托管在 Git 仓库中,支持去中心化分发、版本控制和依赖管理。模块运行时在本地构建,支持语义版本控制,默认情况下依赖项会被锁定。
  3. CLI 集成
    开发者可以使用 Dagger CLI 工具直接从命令行调用 Dagger Functions,无论是从本地存储还是 Git 仓库。CLI 会自省模块的 API,暴露可用函数和参数,简化调用过程。

Daggerverse:公共函数索引

在 Dagger Functions 发布后不久,Dagger 还推出了 Daggerverse,这是一个可搜索的公共函数索引,旨在帮助开发者发现社区提供的优秀模块。Daggerverse 提供常见任务的模块,如代码检查、构建、安全扫描、密钥集成以及部署到主流云平台。

应用场景与社区反馈

Dagger Functions 最初的目标是优化 CI,但其多功能性可能超越传统的 CI 工作流程,潜在应用包括测试数据管理和 SaaS 集成。Dagger 团队预计该功能将在更多开发领域得到广泛应用。社区反应积极,例如 Tom Hacohen 在 X(原 Twitter)上表示,Dagger Functions 感觉像是一个未来会被广泛使用的工具。

入门建议

Dagger 团队建议开发者通过替换繁琐的脚本逐步将 Dagger Functions 集成到项目中。项目提供了 快速入门指南开发者模块指南,帮助新老用户顺利上手。

阅读 20
0 条评论