butler/build/ci/.drone.yml

73 lines
1.5 KiB
YAML

kind: pipeline
type: docker
name: default
steps:
- name: test
pull: if-not-exists
image: golang:1.20
commands:
- go test ./...
- name: build
pull: if-not-exists
image: golang:1.20
environment:
TELEGRAM_TOKEN:
from_secret: TELEGRAM_TOKEN
POSTGRES_URL_CONNECT:
from_secret: POSTGRES_URL_CONNECT
settings:
envs: [ TELEGRAM_TOKEN,POSTGRES_URL_CONNECT ]
commands:
- GOOS=linux GOARCH=amd64 go build -o butler cmd/butler/main.go
- touch .env
- echo TELEGRAM_TOKEN=$${TELEGRAM_TOKEN} >> .env
- echo POSTGRES_URL_CONNECT=$${POSTGRES_URL_CONNECT} >> .env
- name: copy to server
pull: if-not-exists
image: appleboy/drone-scp
settings:
host:
from_secret: SSH_IP
username:
from_secret: SSH_USER
key:
from_secret: SSH_KEY
port:
from_secret: SSH_PORT
target: /home/crab/deploys/butler_bot
source:
- .env
- build/ci/Dockerfile
- deploy/docker-compose.yml
- migrations
- cmd
rm: true
# - name: deploy
# pull: if-not-exists
# image: appleboy/drone-ssh
# settings:
# host:
# from_secret: SSH_IP
# username:
# from_secret: SSH_USER
# key:
# from_secret: SSH_KEY
# port:
# from_secret: SSH_PORT
# script:
# TODO:
# scp bin, Dockerfile, docker-compose
# create .env from secrets
# run migrations
# restart container
trigger:
event:
- push