mirror of
https://github.com/MatrixSeven/file-transfer-go.git
synced 2026-05-22 13:57:29 +08:00
feat: 更新Docker构建配置,支持多架构构建,修改Dockerfile以适应不同目标架构
This commit is contained in:
10
.github/workflows/docker-publish.yml
vendored
10
.github/workflows/docker-publish.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
name: 🐳 Build and Push Docker Image (AMD64)
|
name: 🐳 Build and Push Docker Image (Multi-Arch)
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# 手动触发
|
# 手动触发
|
||||||
@@ -57,6 +57,11 @@ jobs:
|
|||||||
type=raw,value=latest,enable={{is_default_branch}}
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
type=raw,value=${{ inputs.version }},enable=${{ github.event_name == 'workflow_dispatch' }}
|
type=raw,value=${{ inputs.version }},enable=${{ github.event_name == 'workflow_dispatch' }}
|
||||||
|
|
||||||
|
- name: 🔧 Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3
|
||||||
|
with:
|
||||||
|
platforms: arm64
|
||||||
|
|
||||||
- name: 🔧 Set up Docker Buildx
|
- name: 🔧 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
@@ -76,9 +81,10 @@ jobs:
|
|||||||
- name: 🏗️ Set build platform
|
- name: 🏗️ Set build platform
|
||||||
id: platforms
|
id: platforms
|
||||||
run: |
|
run: |
|
||||||
echo "platforms=linux/amd64" >> $GITHUB_OUTPUT
|
echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: 🐳 Build and push Docker image
|
- name: 🐳 Build and push Docker image
|
||||||
|
id: build
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
|
|||||||
11
Dockerfile
11
Dockerfile
@@ -1,5 +1,5 @@
|
|||||||
# ==============================================
|
# ==============================================
|
||||||
# AMD64 Dockerfile - 基于 build-fullstack.sh 流程
|
# Multi-Arch Dockerfile - 基于 build-fullstack.sh 流程
|
||||||
# ==============================================
|
# ==============================================
|
||||||
|
|
||||||
# 前端构建阶段
|
# 前端构建阶段
|
||||||
@@ -35,8 +35,11 @@ RUN apk add --no-cache git ca-certificates tzdata
|
|||||||
|
|
||||||
ENV GOPROXY=https://proxy.golang.org,direct
|
ENV GOPROXY=https://proxy.golang.org,direct
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
ENV GOOS=linux
|
|
||||||
ENV GOARCH=amd64
|
ARG TARGETOS
|
||||||
|
ARG TARGETARCH
|
||||||
|
ENV GOOS=${TARGETOS}
|
||||||
|
ENV GOARCH=${TARGETARCH}
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -50,7 +53,7 @@ RUN go mod download
|
|||||||
# 拷贝前端构建结果
|
# 拷贝前端构建结果
|
||||||
COPY --from=frontend-builder /app/chuan-next/out ./internal/web/frontend/
|
COPY --from=frontend-builder /app/chuan-next/out ./internal/web/frontend/
|
||||||
|
|
||||||
# 构建 Go 应用 - AMD64 架构(模拟 build-fullstack.sh 的 build_backend 函数)
|
# 构建 Go 应用 - 按目标架构编译(模拟 build-fullstack.sh 的 build_backend 函数)
|
||||||
RUN go build -ldflags='-s -w -extldflags '-static'' -o server ./cmd
|
RUN go build -ldflags='-s -w -extldflags '-static'' -o server ./cmd
|
||||||
|
|
||||||
# ==============================================
|
# ==============================================
|
||||||
|
|||||||
Reference in New Issue
Block a user