56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
steps:
|
|
- name: go test
|
|
image: golang:1.24-alpine3.21
|
|
commands:
|
|
- apk add --no-cache git curl
|
|
- go mod tidy
|
|
- go test ./...
|
|
|
|
- name: build and push docker image
|
|
image: docker:24
|
|
volumes:
|
|
- name: dockersock
|
|
path: /var/run/docker.sock
|
|
commands:
|
|
- docker build -t localhost:5000/link-shortener:latest -f dockerfile .
|
|
- docker push localhost:5000/link-shortener:latest
|
|
|
|
- name: deploy with compose
|
|
image: docker:24
|
|
volumes:
|
|
- name: dockersock
|
|
path: /var/run/docker.sock
|
|
- name: appdir
|
|
path: /opt/app
|
|
environment:
|
|
IMAGE: localhost:5000/link-shortener:latest
|
|
SERVER_HOST: link.dusiburg.ru
|
|
VIRTUAL_HOST: link.dusiburg.ru
|
|
VIRTUAL_PORT: 8080
|
|
LETSENCRYPT_HOST: link.dusiburg.ru
|
|
LETSENCRYPT_EMAIL:
|
|
from_secret: LETSENCRYPT_EMAIL
|
|
SERVER_PORT: 8080
|
|
REDIS_URL: redis://redis:6379
|
|
commands:
|
|
- apk add --no-cache docker-cli-compose
|
|
- cp -r . /opt/app
|
|
- cd /opt/app
|
|
- docker compose pull
|
|
- docker compose up -d
|
|
|
|
volumes:
|
|
- name: dockersock
|
|
host:
|
|
path: /var/run/docker.sock
|
|
- name: appdir
|
|
host:
|
|
path: /tmp/drone-app-deploy
|
|
|
|
trigger:
|
|
branch:
|
|
- main |