steps: # 1. Build & Push Image build-and-push: image: plugins/docker settings: registry: git.exavolt.web.id repo: git.exavolt.web.id/fikri/fullstack-portfolio dockerfile: Dockerfile use_cache: true purge: false username: from_secret: gitea_user password: from_secret: gitea_token when: branch: master event: push # 2. Deploy via SSH deploy: image: appleboy/drone-ssh settings: host: 103.197.190.44 username: exavolt port: 22 key: from_secret: ssh_key envs: [ GITEA_USER, GITEA_TOKEN, TELEGRAM_TOKEN, TELEGRAM_CHAT_ID ] gitea_user: from_secret: gitea_user gitea_token: from_secret: gitea_token script: - cd ~/projects/fikri-fullstack-portfolio - echo $GITEA_TOKEN | docker login git.exavolt.web.id -u $GITEA_USER --password-stdin - docker compose pull - docker compose up -d --remove-orphans - docker image prune -f - > curl -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" -d "chat_id=${TELEGRAM_CHAT_ID}" -d "message_thread_id=8" -d "parse_mode=HTML" -d "text=🚀 Deployment Success!%0AProject: fullstack-portfolio%0AStatus: Finished" when: branch: master event: push # 3.Telegram Notification notify-telegram: image: appleboy/drone-telegram:1.3.9 settings: token: from_secret: telegram_token to: from_secret: telegram_chat_id message_thread_id: 8 format: html message: | {{#success build.status}} ✅ Deployment SUCCESS {{else}} ❌ Deployment FAILED {{/success}} 📦 Project: {{ repo.name }} 📝 Commit: {{ commit.message }} 👤 Author: {{ commit.author }} 🛠 Build Details:Duration: {{ build.duration }}s 🔗 View Full Logs when: - event: [push] branch: master status: [ success, failure ]