35 lines
1.1 KiB
YAML
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] |