This commit is contained in:
2026-10-03 12:18:35 +07:00
parent 2e4456cb6e
commit a8cfa96578
4 changed files with 46 additions and 64 deletions
+13 -63
View File
@@ -1,69 +1,19 @@
kind: pipeline
type: docker
name: default
name: backend
steps:
- name: format
image: golang:1.26
- name: check
image: golang:1.27.0-bookworm
environment:
TEST_DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres?sslmode=disable
commands:
- test -z "$(gofmt -l .)"
- go version
- go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.14.0
- make check
- name: test
image: golang:1.26
commands:
- go test ./...
- name: build
image: golang:1.26
commands:
- GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -a -ldflags '-extldflags "-static"' -o evening_detective_server ./cmd/evening_detective_server
- name: scp
image: appleboy/drone-scp
settings:
host:
from_secret: server_ip
username:
from_secret: ssh_user
key:
from_secret: ssh_key
port:
from_secret: ssh_port
target:
- deploys/evening_detective_server
source:
- evening_detective_server
- docker-compose.yml
- Dockerfile
rm: true
when:
branch:
- master
event:
- push
- name: deploy
image: appleboy/drone-ssh
settings:
host:
from_secret: server_ip
username:
from_secret: ssh_user
key:
from_secret: ssh_key
port:
from_secret: ssh_port
command_timeout: 10s
script:
- cd deploys/evening_detective_server
- docker-compose up -d --force-recreate
when:
branch:
- master
event:
- push
trigger:
event:
- push
- pull_request
services:
- name: postgres
image: postgres:18
environment:
POSTGRES_PASSWORD: postgres
+1
View File
@@ -0,0 +1 @@
v2.14.0
+16
View File
@@ -0,0 +1,16 @@
version: "2"
linters:
default: none
enable:
- errcheck
- ineffassign
- revive
- staticcheck
- unused
exclusions:
generated: strict
run:
relative-path-mode: gomod
timeout: 5m
+16 -1
View File
@@ -4,7 +4,22 @@ DEV_USER_USERNAME ?= dev
DEV_USER_EMAIL ?= dev@example.com
DEV_USER_PASSWORD ?= dev123456
.PHONY: dev-user migrate-up
.PHONY: dev-user migrate-up fmt-check vet lint check
fmt-check:
@set -e; files=$$(git ls-files -z '*.go' ':!proto/*.pb.go' | xargs -0 -r gofmt -l); if [ -n "$$files" ]; then printf '%s\n' "$$files"; exit 1; fi
vet:
go vet ./...
lint:
golangci-lint run ./...
check:
$(MAKE) fmt-check
$(MAKE) vet
$(MAKE) lint
$(MAKE) test
migrate-up:
goose -dir ./migrations postgres "$(DATABASE_URL)" up