init
This commit is contained in:
127
.drone.yaml
Normal file
127
.drone.yaml
Normal file
@@ -0,0 +1,127 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: CI
|
||||
|
||||
steps:
|
||||
- name: LINT
|
||||
image: golangci/golangci-lint
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /go
|
||||
environment:
|
||||
GOMODCACHE: '/go/mod'
|
||||
GOCACHE: '/go/cache'
|
||||
commands:
|
||||
- go fmt ./...
|
||||
- golangci-lint run ./... --timeout=10m --verbose
|
||||
|
||||
- name: TEST
|
||||
image: golang
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /go
|
||||
environment:
|
||||
GOMODCACHE: '/go/mod'
|
||||
GOCACHE: '/go/cache'
|
||||
commands:
|
||||
- go test ./...
|
||||
depends_on:
|
||||
- LINT
|
||||
|
||||
- name: BUILD
|
||||
image: plugins/docker
|
||||
workspace:
|
||||
path: /
|
||||
settings:
|
||||
repo: registry.spasskiy.site/gerlad
|
||||
dockerfile: ./Dockerfile
|
||||
tags: [ "latest" ]
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: registry.spasskiy.site
|
||||
depends_on:
|
||||
- LINT
|
||||
- TEST
|
||||
|
||||
- name: NOTIFY_TG
|
||||
image: appleboy/drone-telegram
|
||||
settings:
|
||||
token:
|
||||
from_secret: telegram_token
|
||||
to: "-605857722"
|
||||
message: >
|
||||
{{#success build.status}}
|
||||
*[Gerald]* ✅ Build *{{build.number}}* on branch *{{commit.branch}}* tested successfully.
|
||||
{{else}}
|
||||
*[Gerlad]* 🚧 Build *{{build.number}}* on branch *{{commit.branch}}* failed.
|
||||
{{/success}}
|
||||
*msg:* {{commit.message}}
|
||||
depends_on:
|
||||
- LINT
|
||||
- TEST
|
||||
- BUILD
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /var/lib/cache
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: CD-STAGE
|
||||
|
||||
steps:
|
||||
- name: DEPLOY-PROD
|
||||
image: appleboy/drone-ssh:1.6.4
|
||||
environment:
|
||||
POSTGRES_DSN:
|
||||
from_secret: POSTGRES_DSN
|
||||
APNS_KEY:
|
||||
from_secret: APNS_KEY
|
||||
settings:
|
||||
host: 68.183.14.242
|
||||
username: root
|
||||
password:
|
||||
from_secret: ssh_password
|
||||
script:
|
||||
- cd ~/gerald && git checkout master && git pull
|
||||
- cd ~/gerlad/deploy && docker-compose pull gerlad
|
||||
- docker-compose up -d pg traefik
|
||||
- POSTGRES_DSN=$POSTGRES_DSN docker-compose up -d --force-recreate --no-deps --build gerald
|
||||
when:
|
||||
target:
|
||||
- production
|
||||
|
||||
- name: NOTIFY-TG
|
||||
image: appleboy/drone-telegram
|
||||
settings:
|
||||
token:
|
||||
from_secret: telegram_token
|
||||
to: "-605857722"
|
||||
message: >
|
||||
{{#success build.status}}
|
||||
*[2phon]* 🚀 Build {{build.number}} *deployed* on *production*.
|
||||
{{else}}
|
||||
*[2phon]* ❌ Build {{build.number}} failed to deploy on *production*.
|
||||
{{/success}}
|
||||
*commit msg:* {{commit.message}}
|
||||
depends_on:
|
||||
- DEPLOY-PROD
|
||||
when:
|
||||
target:
|
||||
- production
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target:
|
||||
- staging
|
||||
- production
|
||||
Reference in New Issue
Block a user