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>
45 lines
1.7 KiB
YAML
45 lines
1.7 KiB
YAML
# Deploy the latest MCP worker image.
|
|
# Copy to /etc/ops-agent/flows/update_mcp_worker.yml on the host.
|
|
#
|
|
# Steps:
|
|
# 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 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"]
|
|
on_failure: continue
|
|
|
|
- command_key: git_fetch
|
|
args: ["/srv/scrum4me/repos/scrum4me-docker"]
|
|
on_failure: abort
|
|
|
|
- command_key: git_pull
|
|
args: ["/srv/scrum4me/repos/scrum4me-docker"]
|
|
on_failure: abort
|
|
|
|
- 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
|
|
args: ["worker-idea"]
|
|
on_failure: abort
|
|
|
|
- command_key: wait_for_health_worker
|
|
on_failure: continue
|