Files
soleprint/.woodpecker.yml
2025-12-31 13:16:33 -03:00

62 lines
1.7 KiB
YAML

# Woodpecker CI Pipeline for Soleprint
# Showcases custom build step: generates deployable code from templates
steps:
# Custom step: Generate deployable code from soleprint templates
# build.py assembles the soleprint instance for a specific config (amar)
generate:
image: python:3.11-slim
commands:
- pip install pyyaml jinja2
- python build.py -cfg amar
- ls -la gen/
# Build Docker image from generated code
build:
image: docker:24-dind
commands:
- cd gen
- docker build -t registry.mcrn.ar/soleprint:${CI_COMMIT_SHA::7} .
- docker tag registry.mcrn.ar/soleprint:${CI_COMMIT_SHA::7} registry.mcrn.ar/soleprint:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
event: push
branch: main
# Push to private registry
push:
image: docker:24-dind
commands:
- docker push registry.mcrn.ar/soleprint:${CI_COMMIT_SHA::7}
- docker push registry.mcrn.ar/soleprint:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
event: push
branch: main
# Deploy to server
deploy:
image: appleboy/drone-ssh
settings:
host: mcrn.ar
username: mariano
key:
from_secret: deploy_key
script:
- docker network create mainroom_default 2>/dev/null || true
- cd ~/soleprint && git pull origin main
- cd ~/soleprint/gen
- |
if [ ! -f .env ]; then
echo "DEPLOYMENT_NAME=soleprint" > .env
echo "SOLEPRINT_PORT=12000" >> .env
fi
- docker pull registry.mcrn.ar/soleprint:latest
- docker compose down || true
- docker compose up -d
when:
event: push
branch: main