From 12e2d24f37fb972fbb77e9e2a7f03e0462e82b46 Mon Sep 17 00:00:00 2001 From: hhs <386998068@qq.com> Date: Sat, 20 Jun 2026 17:43:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20checkout=20=E5=90=8E=E6=98=BE?= =?UTF-8?q?=E5=BC=8F=20git=20fetch=20=E5=88=87=E6=8D=A2=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E5=88=86=E6=94=AF=EF=BC=8C=E9=81=BF=E5=85=8D=E5=A7=8B=E7=BB=88?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=20main=20=E4=BB=A3=E7=A0=81=EF=BC=9BDockerfi?= =?UTF-8?q?le=20=E6=B7=BB=E5=8A=A0=20BuildKit=20cache=20mount=20=E5=8A=A0?= =?UTF-8?q?=E9=80=9F=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 11 +++++++++-- backend/Dockerfile | 12 ++++++++++-- frontend/Dockerfile | 12 +++++++++--- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 270f8a7..eb46969 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -10,12 +10,19 @@ jobs: steps: - name: Checkout uses: "http://8.161.227.145:3000/huanghaosheng/checkout@releases/v4" - with: - ref: ${{ github.ref }} - name: Install Docker CLI run: apk add --no-cache docker-cli docker-cli-compose rsync + - name: Switch to trigger branch + run: | + git config --global --add safe.directory "$(pwd)" + echo "触发分支: ${GITHUB_REF_NAME}" + git fetch origin "${GITHUB_REF_NAME}" --depth=1 + git checkout "${GITHUB_REF_NAME}" + git reset --hard "origin/${GITHUB_REF_NAME}" + echo "当前提交: $(git log -1 --oneline)" + - name: Sync to deploy directory run: | mkdir -p /root/camtalk diff --git a/backend/Dockerfile b/backend/Dockerfile index f2bfb1b..60b901e 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -8,11 +8,19 @@ ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct # 先复制依赖清单,利用 Docker 缓存层 COPY go.mod go.sum ./ -RUN go mod download + +# --mount=type=cache 复用 Go module 缓存,依赖不变时跳过下载 +RUN --mount=type=cache,target=/go/pkg/mod \ + go mod download # 复制源码并构建 COPY . . -RUN CGO_ENABLED=0 GOOS=linux go build -o /camtalk ./cmd/server + +# 复用 module 缓存 + 编译缓存;-ldflags="-s -w" 裁剪符号表减小 ~30% 体积 +RUN --mount=type=cache,target=/go/pkg/mod \ + --mount=type=cache,target=/root/.cache/go-build \ + CGO_ENABLED=0 GOOS=linux \ + go build -ldflags="-s -w" -o /camtalk ./cmd/server # ---- 运行阶段 ---- FROM alpine:3.20 diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 8a66c0a..39a9c04 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -8,11 +8,17 @@ RUN npm config set registry https://registry.npmmirror.com # 先复制依赖清单,利用 Docker 缓存层 COPY package.json package-lock.json ./ -RUN npm ci -# 复制源码并构建 +# --mount=type=cache 复用 npm 缓存,依赖不变时跳过下载 +# --no-audit 跳过安全审计,提速明显 +RUN --mount=type=cache,target=/root/.npm \ + npm ci --no-audit + +# 复制源码并构建(Vite 构建缓存也复用) COPY . . -RUN npm run build +RUN --mount=type=cache,target=/root/.npm \ + --mount=type=cache,target=/app/node_modules/.vite \ + npm run build # ---- 运行阶段 ---- FROM nginx:stable-alpine -- 2.49.1 From 92e6636d05e4ab29c006efecd26713181c7d15fb Mon Sep 17 00:00:00 2001 From: hhs <386998068@qq.com> Date: Sat, 20 Jun 2026 17:49:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E7=B2=BE=E7=AE=80=20deploy.yml?= =?UTF-8?q?=EF=BC=8Ccheckout=20+=20ref=20+=20verify=20=E4=B8=89=E6=AD=A5?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E6=8B=89=E5=8F=96=E6=AD=A3=E7=A1=AE=E5=88=86?= =?UTF-8?q?=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index eb46969..cd5720e 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -10,19 +10,17 @@ jobs: steps: - name: Checkout uses: "http://8.161.227.145:3000/huanghaosheng/checkout@releases/v4" + with: + ref: ${{ github.ref }} + + - name: Verify checkout + run: | + echo "触发分支: ${GITHUB_REF_NAME}" + echo "当前 HEAD: $(git log -1 --oneline)" - name: Install Docker CLI run: apk add --no-cache docker-cli docker-cli-compose rsync - - name: Switch to trigger branch - run: | - git config --global --add safe.directory "$(pwd)" - echo "触发分支: ${GITHUB_REF_NAME}" - git fetch origin "${GITHUB_REF_NAME}" --depth=1 - git checkout "${GITHUB_REF_NAME}" - git reset --hard "origin/${GITHUB_REF_NAME}" - echo "当前提交: $(git log -1 --oneline)" - - name: Sync to deploy directory run: | mkdir -p /root/camtalk -- 2.49.1