Made autodeploy pipeline

This commit is contained in:
2026-05-19 14:35:04 +03:00
parent b17b43b17a
commit b6447cce63
10 changed files with 285 additions and 9 deletions
+48
View File
@@ -0,0 +1,48 @@
# ================================
# Stage 1: сборка Vue
# ================================
FROM node:20-alpine AS frontend
WORKDIR /app
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ ./
RUN npm run build
# ================================
# Stage 2: сборка Go
# ================================
FROM golang:1.25-alpine AS backend
WORKDIR /app
# зависимости отдельно — используем кэш слоёв
COPY backend/go.mod backend/go.sum ./
RUN go mod download
# исходники
COPY backend/ ./
# встраиваем собранную статику Vue
COPY --from=frontend /app/dist ./src/api/dist
# сборка бинарника
RUN CGO_ENABLED=0 GOOS=linux go build -o server ./src/
# ================================
# Stage 3: финальный образ
# ================================
FROM alpine:3.19
# нужен для корректной работы TLS и временных зон
RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app
COPY --from=backend /app/server ./server
EXPOSE 8080
ENTRYPOINT ["./server"]