writekit/.woodpecker.yml
2026-01-09 00:16:46 +02:00

43 lines
1.2 KiB
YAML

when:
branch: [main, dev]
event: push
steps:
- name: test
image: golang:1.24-alpine
commands:
- go test ./...
- name: build
image: docker:27-cli
environment:
- DOCKER_HOST=unix:///var/run/docker.sock
commands:
- docker build -t 10.0.0.3:5000/writekit:${CI_COMMIT_BRANCH} .
- docker push 10.0.0.3:5000/writekit:${CI_COMMIT_BRANCH}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: deploy-staging
image: alpine
when:
branch: dev
commands:
- apk add --no-cache openssh-client
- mkdir -p ~/.ssh
- cp /mnt/ssh/deploy_key ~/.ssh/id_ed25519
- cp /mnt/ssh/known_hosts ~/.ssh/known_hosts
- chmod 600 ~/.ssh/id_ed25519
- ssh deploy@10.0.0.2 "cd /opt/writekit && docker compose pull writekit-staging && docker compose up -d writekit-staging"
- name: deploy-prod
image: alpine
when:
branch: main
commands:
- apk add --no-cache openssh-client
- mkdir -p ~/.ssh
- cp /mnt/ssh/deploy_key ~/.ssh/id_ed25519
- cp /mnt/ssh/known_hosts ~/.ssh/known_hosts
- chmod 600 ~/.ssh/id_ed25519
- ssh deploy@10.0.0.2 "cd /opt/writekit && docker compose pull writekit-prod && docker compose up -d writekit-prod"