消除超越单体项目扩展时的成本和人为错误

全球首个支持多包仓库的打包软件发布编排器,全面自动化发布生命周期

一个Action,完整流水线

一个GitHub Action替代数百行脆弱的YAML。

Calq Flow
- name: Calq Flow (publish)
  uses: calq-framework/flow@latest
  with:
    subcommand: 'publish --api-key ${{ github.token }}'
传统YAML流水线
# Typically 100+ lines of fragile YAML:
# - manual version bumping logic
# - separate build, test, pack, push steps
# - custom scripts for change detection
# - manual tag management
# - no IL-level diffing

代码驱动发布 — 而非人为判断

Calq Flow通过使用客观代码分析来驱动发布流程,消除人为错误的风险。编译后的应用程序是唯一的真相来源,确保每个版本和包发布都准确无误,无需人工干预。

自动化风险与变更检测

通过直接分析编译后的应用程序自动检测破坏性变更。消除对主观提交信息或手动版本更新的依赖,确保每个发布版本准确反映实际变更内容。

完全自动化的发布编排

从发现和构建到测试、版本管理和包发布。Calq Flow自动化打包软件的整个交付流水线,降低运营复杂性和上市时间。

原生Monorepo支持

在单个仓库中轻松管理多个项目和包。Calq Flow自动发现项目,检测变更的模块,并同步管理所有版本——使多包发布变得简单可靠。

零开销模块化

扩展架构而不增加发布工程成本。无需手动配置或专用脚本即可添加新模块和包——系统随代码增长自动适应。

GitHub Actions原生C#自动化

消除了让.NET团队不得不用bash和YAML编写CI/CD的打包障碍。AI可以生成和维护类型化的C#自动化 — 与YAML管道不同,AI无法测试、调试或验证YAML管道。

可靠的历史回退

即使之前的发布包不可用,Calq Flow的智能回退也能确保发布流程永不中断。它自动重建所需内容以维护交付完整性,无需人工干预。

Calq Flow替代什么

从手动版本管理到复杂的发布工程——一个工具自动化整个软件生命周期。

版本完整性

替代对象

手动版本更新、复杂的版本管理工具配置和主观的提交信息规范

替代方案

客观代码分析——应用程序根据实际变更自动确定正确版本

成果

消除人为错误和配置开销——每个发布版本始终准确,因为它由代码决定,而非人为判断

发布工程

替代对象

脆弱的发布流水线脚本、手动构建和测试流程,以及每个包的交付配置开销

替代方案

完全自动化的发布流水线——从构建和测试到版本管理和发布,一条命令完成

成果

多包仓库的零接触发布 — AI可生成的C#替代不可测试的YAML

CI/CD自动化语言

替代对象

.NET团队无法在本地测试或调试的Bash脚本、脆弱的YAML管道和JavaScript GitHub Actions

替代方案

在GitHub Actions中原生运行的编译C# — 本地和CI中使用相同二进制文件,可测试且类型安全

成果

AI生成类型化、可测试的CI/CD自动化 — 消除产品代码与交付代码之间的割裂

Calq Flow vs. GitVersion

GitVersion从Git历史确定版本。Calq Flow从编译的二进制文件确定版本,并处理完整的发布生命周期——构建、测试、打包、发布和打标签。

功能 Calq Flow GitVersion
版本来源客观代码分析主观的Git历史 + 分支策略
配置零配置 / CLI参数GitVersion.yml
GitHub Action执行原生compositeDocker(容器初始化开销)
破坏性变更检测 自动(二进制比较) 手动(提交信息)
Monorepo支持 原生项目图发现
测试集成 自动发现并强制执行测试
构建 / 打包 / 发布 完整CI/CD流水线 仅版本管理

定价与许可

订阅

开源项目免费使用,如需保持源代码私有,请选择商业许可证。

开源许可证

适用于个人项目、开源开发和产品评估。可在SSPL许可证条款下免费使用。

免费: SSPL许可证

免费开始
使用本软件即表示您同意以下条款 SSPL许可证.
商业许可证

获取商业许可证,可在保持源代码私有的情况下使用。

月付: $22/用户

按月购买

年付: $220/用户

按年购买
购买即表示您同意 许可协议服务条款隐私政策.

常见问题

如果之前的NuGet包不可用怎么办?

能在本地运行同样的流水线吗?

如何处理主版本号升级?

.NET的轻松模块化

用客观代码分析替代手动版本管理 — 消除超越单体项目扩展时的成本和人为错误
An unhandled error has occurred. Reload 🗙