匕首:定义软件交付工作流和开发环境
Dagger: Define software delivery workflows and dev environments

原始链接: https://dagger.io/

Dagger 是一种新工具,允许开发者将容器视为代码中的一等对象,超越了传统的 bash 脚本进行编排。最近,作者与 Solomon Hykes 合作,将他们的第一个 Dagger 函数发布到 daggerverse。 Dagger 提供类型安全、可编程的原始指令(挂载、命令、构建、密钥等),可通过 Go、Python 或 Typescript 访问。函数允许在这些原始指令之上构建可重用的抽象。`dagger` CLI 利用 buildkit 缓存实现极快且一致的构建,在本地和 CI 中都能无缝工作。 这个初始函数跨多个版本构建 Python wheel 包,处理构建时依赖项,并利用 Wolfi 和 Chainguard 的安全基础镜像。作者,以前是“yamlbash 爱好者”,对用更简洁、更可靠的代码取代复杂脚本的可能性感到兴奋。 你可以在这里找到该函数:[https://lnkd.in/eDBtk7pm](https://lnkd.in/eDBtk7pm)

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Dagger:定义软件交付工作流和开发环境 (dagger.io) 10 分,作者 ahamez 4 小时前 | 隐藏 | 过去的 | 收藏 | 2 条评论 oulipo2 19 分钟前 [–] 一开始我对CI/CD很感兴趣,但他们试图采取一种“AI 导向”的观点来搭AI的便车,他们的工具的价值主张完全被模糊了……回复 jiehong 10 分钟前 | 父评论 [–] 我也是,几个月前的营销甚至更糟糕。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

I built my first Dagger function yesterday with Solomon Hykes, and just got it published up on the daggerverse!

Dagger is awesome, and I plan on continuing to find ways to use it. At a high level, dagger lets you use containers as a first-class object in code, and stitch together complex orchestration pipelines using real programming languages instead of bash.

Primitives like mounting in files/directories, running commands, building and publishing containers, environment variables and secrets are all available, type-safe, and programmable in Go, Python, or Typescript.

Dagger functions let you build abstractions and methods on top of these basic primitives that can then be exposed and reused by other Dagger functions. The entire experience is encapsulated by the `dagger` cli, which uses magical buildkit caching and orchestrations so it's all *fassstttt*. You can run it locally or in CI systems and get the same results, and confidence that things will actually work after a push.

As self-described a yamlbash enthusiast, I'm still excited at the thought of replacing those tangled messes with real code.

Check it out here, this version is capable of building Python wheel packages across a variety of Python versions, and can handle installation of extra build-time dependencies too, for when you need some ugly cmake stuff or other native libraries. Also, it uses wolfi and Chainguard images for all the execution and package handling :)

https://lnkd.in/eDBtk7pm

#dagger #ci #opensource #wolfi #chainguard

联系我们 contact @ memedata.com