Adds a `publish` job to ci.yml that fires only on green pushes to main. It builds broker, server, and frontend from images/*.Dockerfile, tags each with :main-<sha> + :latest, and pushes to the fleet registry at redclaw-web-01:5000 (via its Tailscale IP 100.94.185.103, which the daemons already trust in insecure-registries). Adds a small systemd oneshot + 1-minute timer for gw-04 that polls :latest of each service, pulls on drift, retags to the un-prefixed name the current compose file uses, and rolls only the changed services. The retag keeps /root/clawmates/docker-compose.yml unchanged for now — a follow-up can migrate the compose file to registry-prefixed names once we're confident. End-to-end: push to main -> tests -> images pushed -> gw-04 timer pulls within ~1 min -> prod updated. Rollback = docker tag <old-sha> :latest and `docker compose up -d`.
12 lines
260 B
Desktop File
12 lines
260 B
Desktop File
[Unit]
|
|
Description=Clawmates rolling deploy (pull :latest, roll on drift)
|
|
Wants=docker.service
|
|
After=docker.service network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/local/bin/clawmates-deploy.sh
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
Nice=10
|