feat: v0.2.4 — image delete workaround + auto-version env-var update

redeploy_project: replace broken SYNO.Docker.Image/pull with a unified
4-step delete-before-start flow for all project states (RUNNING, STOPPED,
BUILD_FAILED). Reads image tags from the project's compose.yaml via
FileStation before stopping, deletes each cached image (non-fatal), then
starts the project so DSM auto-pulls the latest version. Polls for RUNNING
as before.

update_image_tag: auto-update env vars whose value equals the numeric
version prefix of the old tag when the new tag shares the same
<digits>-<suffix> pattern (e.g. JENKINS_VERSION=2.558 → 2.560 when tag
changes 2.558-jdk21 → 2.560-jdk21). Preview mode lists the pending
auto-updates. Only triggers when the var exists and the pattern matches.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 07:57:57 +02:00
parent ae36a9fbac
commit bafa327412
6 changed files with 522 additions and 126 deletions
+21
View File
@@ -2,6 +2,27 @@
All notable changes to this project will be documented in this file.
## [0.2.4] - 2026-04-21
### Changed
- `redeploy_project`: Replaced broken `SYNO.Docker.Image/pull` with a
delete-before-start workaround. The tool now reads image tags from the
project's compose file via FileStation, deletes each cached image before
calling `start` (so DSM auto-pulls the latest version), then polls for
`RUNNING`. Image deletion is non-fatal — if it fails the project still starts.
Unified 4-step flow for all project states (RUNNING, STOPPED, BUILD_FAILED).
### Added
- `update_image_tag`: Auto-updates environment variables whose value equals
the numeric version prefix of the old tag when the new tag shares the same
`<digits>-<suffix>` pattern. For example, changing `2.558-jdk21`
`2.560-jdk21` automatically updates `JENKINS_VERSION=2.558` to
`JENKINS_VERSION=2.560`. The preview (unconfirmed call) now lists which env
vars will be updated. Only triggers when the variable exists and the pattern
matches; no change for plain tags like `latest`.
## [0.2.3] - 2026-04-21
### Changed