Рефакторил 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 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
|
- echo "$DOCKER_REGISTRY_TOKEN" | docker login hub.docker.struchkov.dev --username $DOCKER_REGISTRY_USER --password-stdin
|
||||||
- docker buildx create --use
|
- 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:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
@@ -45,6 +45,6 @@ image_pull_secrets:
|
|||||||
# drone sign --save DockerFiles/transmission-telegram
|
# drone sign --save DockerFiles/transmission-telegram
|
||||||
---
|
---
|
||||||
kind: signature
|
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
|
RUN apk add --no-cache --no-scripts git
|
||||||
|
|
||||||
WORKDIR /go/src/transmission-telegram
|
WORKDIR /go/src/transmission-telegram
|
||||||
|
|
||||||
|
# Копируем только файлы зависимостей для кэширования слоя
|
||||||
|
COPY go.mod go.sum* ./
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
# Копируем остальной код
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN go mod init transmission-telegram
|
# Собираем в одну команду
|
||||||
RUN go mod tidy
|
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
|
||||||
RUN go get -d -v ./...
|
|
||||||
RUN go install -v ./...
|
|
||||||
|
|
||||||
RUN go build -o main .
|
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
RUN apk --no-cache --no-scripts add ca-certificates
|
RUN apk --no-cache --no-scripts add ca-certificates
|
||||||
|
|||||||
Reference in New Issue
Block a user