Improve deployment script with better diagnostics and more resilient node constraints
This commit is contained in:
parent
7605702fc1
commit
3fcf235f36
|
@ -23,13 +23,29 @@ steps:
|
|||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- HOSTNAME=$(docker info --format "{{.Name}}")
|
||||
- echo "Deploying on $HOSTNAME"
|
||||
- docker node ls >/dev/null 2>&1 || (echo "Runner must be on a Swarm manager" && exit 1)
|
||||
- mkdir -p /mnt/data/nixc.us/woodpecker/production/db /mnt/data/nixc.us/woodpecker/production/data
|
||||
- chmod -R 777 /mnt/data/nixc.us/woodpecker/production
|
||||
- echo "Starting deployment in background - CI job will complete while services update"
|
||||
- (sleep 5 && docker stack deploy --with-registry-auth -c stack.yml woodpecker) &
|
||||
- sleep 3
|
||||
- echo "Deployment initiated successfully - CI job completing"
|
||||
- docker node ls || (echo "Runner must be on a Swarm manager" && exit 1)
|
||||
- echo "Checking for existing networks..."
|
||||
- docker network ls
|
||||
- echo "Creating required directories..."
|
||||
- mkdir -p /mnt/data/nixc.us/woodpecker/production/db /mnt/data/nixc.us/woodpecker/production/data || true
|
||||
- chmod -R 777 /mnt/data/nixc.us/woodpecker/production || true
|
||||
- echo "Ensuring traefik network exists..."
|
||||
- docker network create --driver=overlay --attachable traefik || true
|
||||
- echo "Removing any existing stack..."
|
||||
- docker stack rm woodpecker || true
|
||||
- echo "Waiting for cleanup..."
|
||||
- sleep 10
|
||||
- echo "Deploying stack..."
|
||||
- docker stack deploy --with-registry-auth -c stack.yml woodpecker
|
||||
- echo "Waiting for services to start..."
|
||||
- sleep 15
|
||||
- echo "Service status:"
|
||||
- docker service ls | grep woodpecker
|
||||
- echo "Checking logs for server:"
|
||||
- docker service logs --tail 10 woodpecker_server || true
|
||||
- echo "Checking logs for database:"
|
||||
- docker service logs --tail 10 woodpecker_db || true
|
||||
- echo "Deployment completed"
|
||||
when:
|
||||
branch: main
|
||||
event: [push]
|
|
@ -20,7 +20,7 @@ services:
|
|||
replicas: 1
|
||||
placement:
|
||||
constraints:
|
||||
- node.hostname == macmini1
|
||||
- node.role == manager
|
||||
labels:
|
||||
- "traefik.enable=false"
|
||||
update_config:
|
||||
|
@ -63,7 +63,7 @@ services:
|
|||
replicas: 1
|
||||
placement:
|
||||
constraints:
|
||||
- node.hostname == macmini1
|
||||
- node.role == manager
|
||||
labels:
|
||||
# Web UI Configuration
|
||||
traefik.enable: "true"
|
||||
|
|
Loading…
Reference in New Issue