diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..b43434f --- /dev/null +++ b/.woodpecker.yml @@ -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