ploughshares/.woodpecker.yml

64 lines
1.9 KiB
YAML

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]