This draft is designed to be sent to your team (e.g., via email, Jira, or Confluence) to clearly communicate the technical changes while forcing a decision on the critical architectural question regarding version sources.
Release Notes: RPM Versioning Migration
Branch: leonid-comet-lse-migration
Status: Ready for Review / Technical Decision Required
1. Overview
The COMET project migration is complete. We have shifted to a standardized RPM versioning scheme. This migration moves us away from manual deployment artifacts toward a fully versioned, package-managed infrastructure.
The new format follows: Artifact-AppVersion-AppRelease-Architecture.rpm
2. Decision Required: Source of Truth
We currently have AppVersion and AppRelease hard-coded within build.gradle. To improve CI/CD agility, we need to decide on the path forward for variable injection.
| Approach | Pros | Cons |
|---|---|---|
| Current (Gradle Hard-code) | Simplest to implement; tracks version with code. | Requires code commit for every version bump. |
| Dynamic (Tekton/Env Injection) | Decouples build from versioning; cleaner pipeline. | Requires strict Tekton configuration management. |
Discussion Point: I am proposing we move these variables to be controlled by our orchestration layer (Tekton/Environment variables) to automate releases. Does the team have a preference or specific security constraints regarding external variable injection?
3. RPM Behavior & Deployment Logic
To ensure everyone is aligned on the new deployment behavior, please note the following operational logic:
Versioning Logic
-
Version Construction:
ArtifactId+AppVersion+AppReleasedetermine the version. -
Artifact Isolation: Changing
ArtifactId(e.g.,CPLStoCPLSdev) treats the new build as a distinct entity. Previous directories/binaries are not touched.
Critical Behavior: The Cleanup
-
Destructive Updates: When
AppVersionorAppReleaseis changed, the system is designed to remove the previous release directories to ensure a clean state.- Note: Ensure all data persistence layers are decoupled from these application directories.
-
Downgrade Support: Unlike standard YUM behavior, our system is explicitly configured to support downgrades. If a rollback is required, we can enforce it by modifying the
AppVersionandAppReleaseand re-running the build cycle.
4. Next Steps for the Team
- Code Review: Please review the logic in branch
leonid-comet-lse-migration. - Decide: Confirm the source for
AppVersionandAppRelease(Gradle vs. Pipeline/Env).
Top comments (0)