woodpecker/.woodpecker.yml

35 lines
1.1 KiB
YAML

# Woodpecker CI Configuration for Woodpecker Self-Deploy
labels:
location: manager
clone:
git:
image: woodpeckerci/plugin-git
settings:
partial: false
depth: 1
when:
branch: [main]
steps:
deploy-woodpecker:
name: deploy-woodpecker
image: woodpeckerci/plugin-docker-buildx
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- echo "nameserver 1.1.1.1" > /etc/resolv.conf
- 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"
when:
branch: main
event: [push]