版本管理与构建

专业项目需要可靠的版本控制和标准化的构建流程。
Lino 采用语义化版本控制(SemVer)来管理每个服务的版本,并提供命令来生成根据服务当前版本命名的 Docker 镜像。

服务版本管理

Lino 中的每个服务都有独立版本控制,允许它们以不同节奏发展,而无需全局同步。

SemVer 标准

MAJOR.MINOR.PATCH
  • MAJOR → 不兼容的变更(breaking changes)。
  • MINOR → 向后兼容的新功能。
  • PATCH → Bug 修复和内部改进。

示例:
1.0.0 → 第一个稳定版本。
1.1.0 → 添加新端点而不破坏兼容性。
2.0.0 → 需要客户端更新的变更。

lino version 命令

CLI 提供对版本递增的原生支持:

lino version bump

交互式向导将指导您选择递增类型(major、minor、patch),并自动用新版本更新服务配置文件。

每次执行都会更新服务版本清单,确保:

  • 清晰的变更追踪。
  • 与发布实践保持一致。
  • 与 CI/CD 流水线对齐。

Docker 镜像构建

Lino 会自动为每个服务或 Web 应用的每个版本生成 Docker 镜像,从而消除手动操作。

命名规范:

project-name/services/service-name : major.minor.patch

镜像可以发布到任何注册表:

  • Docker Hub
  • GitHub Container Registry
  • AWS ECR
  • Azure Container Registry
  • 或任何其他兼容的仓库。

lino build 命令

要编译并生成 Docker 镜像,只需执行:

lino build

该过程发生的操作:
1. 编译服务和/或 Web 应用的代码。
2. 应用必要的配置(连接字符串、密钥、环境变量)。
3. 根据当前 SemVer 版本生成 Docker 镜像。
4. 镜像使用标准化的名称和标签。

该过程保证构建一致且可复现,减少生产环境中的故障,并加速 CI/CD 流水线中的部署。

因此,Lino 将服务独立版本管理与自动化构建流程结合,实现发布治理并在任何环境中可靠分发。

发生了未处理的错误。 重新加载 🗙