Рефакторил Dockerfile и конфигурацию Drone для оптимизации кеширования сборки. Обновлённый Dockerfile теперь копирует только файлы зависимостей для кеширования слоёв и упрощает команду сборки. Улучшён файл .drone.yml для использования кеша сборки с целью повышения эффективности.
This commit is contained in:
@@ -20,7 +20,7 @@ steps:
|
||||
- echo "$DOCKER_REGISTRY_TOKEN" | docker login docker.struchkov.dev --username $DOCKER_REGISTRY_USER --password-stdin
|
||||
- echo "$DOCKER_REGISTRY_TOKEN" | docker login hub.docker.struchkov.dev --username $DOCKER_REGISTRY_USER --password-stdin
|
||||
- docker buildx create --use
|
||||
- docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 -t "docker.struchkov.dev/transmission-telegram:latest" .
|
||||
- docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --cache-from type=registry,ref=docker.struchkov.dev/transmission-telegram:buildcache --cache-to type=registry,ref=docker.struchkov.dev/transmission-telegram:buildcache,mode=max -t "docker.struchkov.dev/transmission-telegram:latest" .
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
@@ -45,6 +45,6 @@ image_pull_secrets:
|
||||
# drone sign --save DockerFiles/transmission-telegram
|
||||
---
|
||||
kind: signature
|
||||
hmac: 63a5d3f03d7ca0c308b8c97513c78fa8e4a7cacb34531826118a3c17be4a4524
|
||||
hmac: 0446f310a43b140589dac34f54b5caf39af939b59fe59cf9d743d034c6b8b7fc
|
||||
|
||||
...
|
||||
|
||||
14
Dockerfile
14
Dockerfile
@@ -3,14 +3,16 @@ FROM golang:alpine AS build
|
||||
RUN apk add --no-cache --no-scripts git
|
||||
|
||||
WORKDIR /go/src/transmission-telegram
|
||||
|
||||
# Копируем только файлы зависимостей для кэширования слоя
|
||||
COPY go.mod go.sum* ./
|
||||
RUN go mod download
|
||||
|
||||
# Копируем остальной код
|
||||
COPY . .
|
||||
|
||||
RUN go mod init transmission-telegram
|
||||
RUN go mod tidy
|
||||
RUN go get -d -v ./...
|
||||
RUN go install -v ./...
|
||||
|
||||
RUN go build -o main .
|
||||
# Собираем в одну команду
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
|
||||
|
||||
FROM alpine:latest
|
||||
RUN apk --no-cache --no-scripts add ca-certificates
|
||||
|
||||
Reference in New Issue
Block a user