fix: aktualisiere Go-Version auf 1.25 und passe Dockerfile an, um das kompilierte Binary direkt zu kopieren
Build And Test / build (push) Successful in 1m17s
Build And Test / Build and Publish Docker Image (push) Successful in 51s

This commit is contained in:
Matthias Hinrichs
2025-11-22 00:43:37 +01:00
parent 28443b23dc
commit 557630cf98
2 changed files with 15 additions and 26 deletions
+13 -3
View File
@@ -19,10 +19,15 @@ jobs:
- name: Use Go
uses: https://github.com/actions/setup-go@v6
with:
go-version: '1.24'
go-version: '1.25'
- run: go version
- run: ls -lha
- run: go build -v ./...
- run: go mod download
- run: CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o manage-servers .
- uses: actions/upload-artifact@v3
with:
name: manage-servers-binary
path: manage-servers
publish:
needs: build
@@ -40,6 +45,11 @@ jobs:
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.hnrx.net \
--username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- uses: actions/download-artifact@v3
with:
name: manage-servers-binary
path: .
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
with:
+2 -23
View File
@@ -1,33 +1,12 @@
# Stage 1: Builder
FROM golang:1.25.4-alpine AS builder
WORKDIR /app
# Copy go.mod and go.sum first to leverage Docker cache
COPY go.mod .
COPY go.sum .
# Download dependencies
RUN go mod download
# Copy the rest of the application source code
COPY . .
# Build the application
# CGO_ENABLED=0 is important for static linking, resulting in a smaller image
# -o manage-servers specifies the output binary name
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o manage-servers .
# Stage 2: Runner
FROM alpine:latest
WORKDIR /root/
# Copy the compiled binary from the builder stage
COPY --from=builder /app/manage-servers .
COPY manage-servers .
# Copy the index.html file for the web server
COPY --from=builder /app/index.html .
COPY index.html .
# Copy the servers.json file
# COPY servers.json .