forked from templates/template-go-backend
Fix CICD
This commit is contained in:
49
.drone.yml
49
.drone.yml
@@ -7,15 +7,24 @@ platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
steps:
|
||||
- name: clone
|
||||
image: plugins/git
|
||||
settings:
|
||||
depth: 5
|
||||
skip_verify: true
|
||||
recursive: true
|
||||
|
||||
- name: "[branch] bump version"
|
||||
image: registry.halfakop.ru/golang/bumpversion:0.1.3
|
||||
image: registry.halfakop.ru/golang/bumpversion:1.1.0
|
||||
environment:
|
||||
GIT_USERNAME:
|
||||
from_secret: GIT_USERNAME
|
||||
GIT_EMAIL:
|
||||
from_secret: GIT_EMAIL
|
||||
entrypoint: ["/bumpversion"]
|
||||
command: ["--no-commit", "--no-tag", "patch"]
|
||||
load: false # do not use /bin/sh -c here
|
||||
when:
|
||||
@@ -24,14 +33,38 @@ steps:
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: "[branch] build"
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
environment:
|
||||
DOCKER_USERNAME:
|
||||
from_secret: DOCKER_USERNAME
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
GOPROXY:
|
||||
from_secret: GOPROXY
|
||||
GONOSUMDB:
|
||||
from_secret: GONOSUMDB
|
||||
commands:
|
||||
- apk add --no-cache make git bash ca-certificates
|
||||
- make build DOCKER_OPTS="--network devtools"
|
||||
when:
|
||||
branch:
|
||||
- task-*
|
||||
event:
|
||||
- push
|
||||
status:
|
||||
- success
|
||||
|
||||
- name: "[master] bump version"
|
||||
image: registry.halfakop.ru/golang/bumpversion:0.1.3
|
||||
image: registry.halfakop.ru/golang/bumpversion:1.1.0
|
||||
environment:
|
||||
GIT_USERNAME:
|
||||
from_secret: GIT_USERNAME
|
||||
GIT_EMAIL:
|
||||
from_secret: GIT_EMAIL
|
||||
entrypoint: ["/bumpversion"]
|
||||
command: ["patch"]
|
||||
load: false # do not use /bin/sh -c here
|
||||
when:
|
||||
@@ -50,8 +83,12 @@ steps:
|
||||
from_secret: DOCKER_USERNAME
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
GOPROXY:
|
||||
from_secret: GOPROXY
|
||||
GONOSUMDB:
|
||||
from_secret: GONOSUMDB
|
||||
commands:
|
||||
- apk add make git bash
|
||||
- apk add --no-cache make git bash ca-certificates
|
||||
- make login build DOCKER_OPTS="--network devtools"
|
||||
when:
|
||||
branch:
|
||||
@@ -117,8 +154,6 @@ steps:
|
||||
image: plugins/ansible:1
|
||||
environment:
|
||||
SERVICE_NAME: backend
|
||||
DATABASE_URL:
|
||||
from_secret: DATABASE_URL
|
||||
settings:
|
||||
playbook: deployment/deployment.yml
|
||||
inventory: deployment/inventory_service.yml
|
||||
|
||||
20
Dockerfile
20
Dockerfile
@@ -1,4 +1,15 @@
|
||||
FROM golang:1.24.9-alpine AS builder
|
||||
FROM golang:1.24-alpine AS builder
|
||||
RUN apk add --no-cache git ca-certificates
|
||||
|
||||
ARG SOURCE_VERSION
|
||||
ARG SOURCE_COMMIT
|
||||
ARG GOPROXY
|
||||
ARG GONOSUMDB
|
||||
ENV GOPROXY=${GOPROXY}
|
||||
ENV GONOSUMDB=${GONOSUMDB}
|
||||
|
||||
RUN go env GOPROXY
|
||||
RUN test -n "$GOPROXY" || (echo "GOPROXY not set" && exit 1)
|
||||
|
||||
WORKDIR /app
|
||||
COPY go.mod go.sum ./
|
||||
@@ -7,7 +18,6 @@ COPY . .
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o service ./src
|
||||
|
||||
FROM gcr.io/distroless/static
|
||||
|
||||
WORKDIR /
|
||||
COPY --from=builder /app/service .
|
||||
ENTRYPOINT [ "/service"]
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/service /app/service
|
||||
ENTRYPOINT ["/app/service"]
|
||||
|
||||
Reference in New Issue
Block a user