From 1db8cbdf977c63fbc80c502a704699b8dd38ecb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Tue, 31 Mar 2026 17:35:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20build-and-deploy=20=E9=98=B6=E6=AE=B5?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A=E4=B9=89=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 build-and-deploy 阶段使用 *tools_image - 重构 Dockerfile.tools: 基于 node:20-alpine,添加 git/ssh/rsync/curl/dig/nc - 镜像大小: 60.5MB (包含 Node.js 20 + 所有工具) - 移除临时安装 SSH/rsync 的步骤 --- .woodpecker.yml | 11 +++++++---- Dockerfile.tools | 9 +++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index fbefc97..300714d 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -113,7 +113,7 @@ steps: - dev build-and-deploy: - image: *node_image + image: *tools_image environment: NODE_ENV: production NEXT_TELEMETRY_DISABLED: 1 @@ -124,9 +124,12 @@ steps: - lint - type-check commands: - - echo "Checking SSH client availability" - - which ssh && echo "SSH client found" || echo "Installing SSH client" - - apk add --no-cache openssh-client rsync + - echo "=== 构建并部署到生产环境 ===" + - echo "当前容器信息:" + - 'echo "主机名: $(hostname)"' + - 'echo "IP地址: $(hostname -i)"' + - 'echo "可用工具: $(which ssh rsync git curl dig nc)"' + - echo "" - echo "Building production artifacts" - npm run build - echo "Build completed" diff --git a/Dockerfile.tools b/Dockerfile.tools index 1dd6599..6ae52f2 100644 --- a/Dockerfile.tools +++ b/Dockerfile.tools @@ -1,12 +1,13 @@ -FROM --platform=linux/amd64 alpine:3.17 +FROM --platform=linux/amd64 node:20-alpine -# 安装所需的工具 +# 安装额外的工具 RUN apk add --no-cache \ git \ openssh-client \ curl \ bind-tools \ - netcat-openbsd + netcat-openbsd \ + rsync # 设置时区 RUN apk add --no-cache tzdata && \ @@ -14,7 +15,7 @@ RUN apk add --no-cache tzdata && \ echo "Asia/Shanghai" > /etc/timezone # 创建非root用户 -RUN addgroup -g 1001 -S appgroup && \ +RUN addgroup -g 1001 appgroup && \ adduser -u 1001 -S appuser -G appgroup USER appuser