feat(flows): redeploy_all flow + fix MCP-worker cache-bust
Legt de volledige stack-redeploy vast als één flow: scrum4me-web
(pull/migrate/build/restart) gevolgd door de MCP-worker.
Onderweg een echte bug gevonden en gefixt: update_mcp_worker.yml deed
`docker_compose_build worker-idea` zónder cache-bust. De worker-idea
Dockerfile clonet scrum4me-mcp van GitHub in een aparte laag; zolang
MCP_GIT_REF gelijk blijft ('main') hergebruikt Docker die laag, dus
nieuwe MCP-commits werden NIET opgepikt. Een schijnbaar geslaagde
rebuild draaide stilletjes op oude MCP-code.
Wijzigingen:
- commands.yml.example: nieuw command docker_compose_build_worker_fresh
dat via `sh -c` MCP_CACHE_BUST=$(date +%s) meegeeft — invalideert de
clone-laag zodat de laatste MCP-code wordt gepulld
- update_mcp_worker.yml: gebruikt nu de fresh-build; pullt ook
scrum4me-mcp lokaal (on_failure: continue, sync-only)
- redeploy_all.yml: nieuwe gecombineerde flow (16 stappen, web → worker)
- app/flows/redeploy-all/: UI-pagina + panel, zelfde patroon als de
bestaande flow-pagina's
- app/flows/page.tsx: Redeploy All bovenaan de flows-lijst
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e0c2536a8c
commit
68c4d037cf
6 changed files with 285 additions and 9 deletions
|
|
@ -2,15 +2,21 @@
|
|||
# Copy to /etc/ops-agent/flows/update_mcp_worker.yml on the host.
|
||||
#
|
||||
# Steps:
|
||||
# 1. Show current git status (informational)
|
||||
# 2. Fetch remote refs
|
||||
# 3. Fast-forward pull (aborts if working tree is dirty)
|
||||
# 4. Rebuild the Docker image
|
||||
# 5. Recreate the container in detached mode (force-recreate picks up new image)
|
||||
# 6. Wait for worker pre-flight to pass (checks /var/log/agent/current)
|
||||
# 1. Show current git status of scrum4me-docker (informational)
|
||||
# 2. Fetch remote refs for scrum4me-docker
|
||||
# 3. Fast-forward pull scrum4me-docker (aborts if working tree is dirty)
|
||||
# 4. Fast-forward pull scrum4me-mcp — sync van de lokale repo. De image
|
||||
# cloned MCP zelf van GitHub, dus dit is alleen lokale referentie;
|
||||
# on_failure: continue zodat een dirty mcp-tree de deploy niet blokkeert.
|
||||
# 5. Rebuild the worker image MET cache-bust. Een gewone build hergebruikt
|
||||
# de scrum4me-mcp clone-laag (MCP_GIT_REF blijft 'main'), dus nieuwe
|
||||
# MCP-commits worden gemist. docker_compose_build_worker_fresh forceert
|
||||
# een verse clone via MCP_CACHE_BUST.
|
||||
# 6. Recreate the container (force-recreate picks up the new image)
|
||||
# 7. Wait for worker pre-flight to pass (checks /var/log/agent/current)
|
||||
|
||||
name: Update MCP Worker
|
||||
description: Pull latest code, rebuild Docker image, and restart the MCP worker service
|
||||
description: Pull latest code, rebuild the worker image with a fresh scrum4me-mcp clone, and recreate the worker container
|
||||
steps:
|
||||
- command_key: git_status
|
||||
args: ["/srv/scrum4me/repos/scrum4me-docker"]
|
||||
|
|
@ -24,8 +30,11 @@ steps:
|
|||
args: ["/srv/scrum4me/repos/scrum4me-docker"]
|
||||
on_failure: abort
|
||||
|
||||
- command_key: docker_compose_build
|
||||
args: ["worker-idea"]
|
||||
- command_key: git_pull
|
||||
args: ["/srv/scrum4me/repos/scrum4me-mcp"]
|
||||
on_failure: continue
|
||||
|
||||
- command_key: docker_compose_build_worker_fresh
|
||||
on_failure: abort
|
||||
|
||||
- command_key: docker_compose_up_recreate
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue