labels: location: manager clone: git: image: woodpeckerci/plugin-git settings: partial: false depth: 1 when: branch: [main, master] steps: build: name: build image: woodpeckerci/plugin-docker-buildx environment: DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - echo "$${DOCKER_PASSWORD}" | docker login -u "$${DOCKER_USERNAME}" --password-stdin registry.example.com - docker build -t registry.example.com/ploughshares:latest -t registry.example.com/ploughshares:${CI_COMMIT_BRANCH} -f docker/ploughshares/Dockerfile . - docker push registry.example.com/ploughshares:latest - docker push registry.example.com/ploughshares:${CI_COMMIT_BRANCH} when: event: [push, tag] branch: [main, master] deploy: name: deploy image: appleboy/drone-ssh settings: host: from_secret: ssh_host username: from_secret: ssh_username key: from_secret: ssh_key port: 22 script: - cd /path/to/deployment - docker stack deploy -c stack.production.yml ploughshares when: event: [push, tag] branch: [main, master] notify: name: notify image: plugins/slack settings: webhook: from_secret: slack_webhook channel: deployments template: > {{#success build.status}} Build {{build.number}} succeeded. Project Ploughshares has been deployed successfully. {{else}} Build {{build.number}} failed. Please check the logs for more details. {{/success}} when: status: [success, failure] event: [push, tag] branch: [main, master]