Add Woodpecker CI pipeline

This commit is contained in:
buenosairesam
2025-12-31 13:12:41 -03:00
parent 9319d0ade6
commit b0451b688f

54
.woodpecker.yml Normal file
View File

@@ -0,0 +1,54 @@
# 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:0:7} .
- docker tag registry.mcrn.ar/soleprint:$${CI_COMMIT_SHA:0: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:0: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:
- cd ~/soleprint/gen
- docker pull registry.mcrn.ar/soleprint:latest
- docker compose down || true
- docker compose up -d
when:
event: push
branch: main