44 lines
1.2 KiB
YAML
44 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"
|