64 lines
1.9 KiB
YAML
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] |