バージョン管理とビルド

プロフェッショナルなプロジェクトには、信頼できるバージョン管理と標準化されたビルドプロセスが必要です。
Lino は各サービスのバージョン管理に Semantic Versioning(SemVer)を採用し、サービスの現在のバージョンに応じて名前が付けられた Docker イメージを生成するコマンドを提供します。

サービスのバージョン管理

Lino の各サービスは独立したバージョン管理を持ち、グローバルな同期を必要とせずに、それぞれ異なるペースで進化させることができます。

SemVer 標準

MAJOR.MINOR.PATCH
  • MAJOR → 非互換な変更(breaking changes)。
  • MINOR → 後方互換性のある新機能。
  • PATCH → バグ修正および内部改善。

例:
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 はサービスごとの独立したバージョン管理と自動化ビルドプロセスを組み合わせ、リリースガバナンスとあらゆる環境での信頼性の高い配布を実現します。

処理されていないエラーが発生しました。 再読み込み 🗙