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: REGISTRY_USER: from_secret: REGISTRY_USER REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - echo "$${REGISTRY_PASSWORD}" | docker login -u "$${REGISTRY_USER}" --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: woodpeckerci/plugin-docker-buildx environment: REGISTRY_USER: from_secret: REGISTRY_USER REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - echo "$${REGISTRY_PASSWORD}" | docker login -u "$${REGISTRY_USER}" --password-stdin git.nixc.us - docker stack deploy --with-registry-auth -c ./stack.production.yml $${CI_REPO_NAME} 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]