From 0a589543ecd049d3037b2d28799786c29a27c182 Mon Sep 17 00:00:00 2001 From: Ruslan Popov Date: Sat, 29 Mar 2025 20:20:36 +0300 Subject: [PATCH] Dockerize --- .bumpversion.cfg | 4 ++++ .drone.yml | 30 ++++++++++++++++++++++++++++++ Dockerfile | 13 +++++++++++++ Makefile | 5 ++++- README.md | 12 +++++++++++- 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 .drone.yml create mode 100644 Dockerfile diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 4853adf..0c082bd 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -7,6 +7,10 @@ parse = (?P\d+)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch} message = [skip ci] Bump version: {current_version} → {new_version} +[bumpversion:file:.drone.yml] + [bumpversion:file:VERSION] +[bumpversion:file:README.md] + [bumpversion:file:src/main.go] diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..3e65f55 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,30 @@ +--- +kind: pipeline +type: docker +name: bumpversion + +platform: + os: linux + arch: amd64 + +steps: +- name: image-build + image: plugins/docker + volumes: + - name: docker-sock + path: /var/run/docker.sock + settings: + dockerfile: Dockerfile + tags: 0.1.0 + force_tag: true + registry: registry.halfakop.ru + repo: registry.halfakop.ru/golang/bumpversion + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + +volumes: + - name: docker-sock + host: + path: /var/run/docker.sock diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..900d678 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:1.24.1-alpine AS builder + +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download +COPY . . +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app src/main.go + +FROM gcr.io/distroless/static + +WORKDIR / +COPY --from=builder /app/app . +CMD ["./app"] diff --git a/Makefile b/Makefile index 9b1831c..61f28b5 100644 --- a/Makefile +++ b/Makefile @@ -15,4 +15,7 @@ run: @./${EXEC} clean: - @rm -rf ./${EXEC}% \ No newline at end of file + @rm -rf ./${EXEC}% + +image: + docker build --compress -t rad/bumpversion:latest -f Dockerfile . diff --git a/README.md b/README.md index 9a7b43e..0b8d7f2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# BumpVersion +# BumpVersion v0.1.0 + +[![Build Status](https://drone.halfakop.ru/api/badges/rad/bumpversion/status.svg)](https://drone.halfakop.ru/rad/bumpversion) Утилита для управления версией проекта, аналог утилиты Python. @@ -9,3 +11,11 @@ go mod tidy go build go run . + +## Девопсу + +Для сборки этого проекта не забудь в Drone: +* активировать режим доверенного репозитория; +* отключить запросы на изменения; +* отключить форки; +* прописать креды для Docker Registry.