From 971332c28376eaa4c7c672dc262942862f88921a Mon Sep 17 00:00:00 2001 From: Ruslan Popov Date: Sat, 7 Feb 2026 13:23:44 +0300 Subject: [PATCH] Fix CICD --- .drone.yml | 49 ++++++++++++++++++++++++++++++++++++++++++------- Dockerfile | 20 +++++++++++++++----- 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/.drone.yml b/.drone.yml index f274042..d329ba9 100644 --- a/.drone.yml +++ b/.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 diff --git a/Dockerfile b/Dockerfile index 9cdf9de..b01fd3d 100644 --- a/Dockerfile +++ b/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"]