feat: add pipeline v4

This commit is contained in:
Rodrigo Verdiani 2025-10-28 20:48:11 -03:00
parent 65106dea82
commit c10d0c7474

View File

@ -1,10 +1,11 @@
# .woodpecker.yml
# -----------------
# Build, publish, and deploy Python app
when:
event: [ push, pull_request ]
branch: [ main, develop, feat/*, feature/* ]
event: [ push ]
branch: [ main ]
# Pipeline steps
steps:
- name: publish-image
image: woodpeckerci/plugin-docker-buildx
@ -20,37 +21,34 @@ steps:
- latest
- ${CI_COMMIT_SHA}
when:
event: [ push, pull_request ]
event: [ push ]
branch: [ main ]
- name: deploy
depends_on: [ publish-image ]
image: alpine:3.20
environment:
DEPLOY_USER: rov
DEPLOY_HOST: mangamochi.badger-pirarucu.ts.net
DEPLOY_PORT: 22
IMAGE: git.badger-pirarucu.ts.net/mangamochi/manga-matcher:${CI_COMMIT_SHA}
secrets: [ DEPLOY_SSH_KEY ]
DEPLOY_SSH_KEY:
from_secret: DEPLOY_SSH_KEY
commands:
- echo "🚀 Deploying to $DEPLOY_HOST ..."
- apk add --no-cache openssh-client docker-cli
# Setup SSH key
- mkdir -p ~/.ssh
- echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
# Add host to known_hosts to prevent prompt
- ssh-keyscan -p $DEPLOY_PORT $DEPLOY_HOST >> ~/.ssh/known_hosts
# Run deployment commands remotely
- >
ssh -p $DEPLOY_PORT $DEPLOY_USER@$DEPLOY_HOST "
docker pull $IMAGE &&
docker stop manga-matcher || true &&
docker rm manga-matcher || true &&
docker run -d
--name manga-matcher
--restart always
-p 8000:8000
$IMAGE
docker stop manga-matcher 2>/dev/null || true &&
docker rm manga-matcher 2>/dev/null || true &&
docker run -d --name manga-matcher --restart always -p 8000:8000 $IMAGE
"
when:
event: [ push, pull_request ]
event: [ push ]
branch: [ main ]