fix: 精简 deploy.yml,checkout + ref + verify 三步确保拉取正确分支 #147
@@ -13,6 +13,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
ref: ${{ github.ref }}
|
ref: ${{ github.ref }}
|
||||||
|
|
||||||
|
- name: Verify checkout
|
||||||
|
run: |
|
||||||
|
echo "触发分支: ${GITHUB_REF_NAME}"
|
||||||
|
echo "当前 HEAD: $(git log -1 --oneline)"
|
||||||
|
|
||||||
- name: Install Docker CLI
|
- name: Install Docker CLI
|
||||||
run: apk add --no-cache docker-cli docker-cli-compose rsync
|
run: apk add --no-cache docker-cli docker-cli-compose rsync
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,19 @@ ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct
|
|||||||
|
|
||||||
# 先复制依赖清单,利用 Docker 缓存层
|
# 先复制依赖清单,利用 Docker 缓存层
|
||||||
COPY go.mod go.sum ./
|
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 . .
|
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
|
FROM alpine:3.20
|
||||||
|
|||||||
@@ -8,11 +8,17 @@ RUN npm config set registry https://registry.npmmirror.com
|
|||||||
|
|
||||||
# 先复制依赖清单,利用 Docker 缓存层
|
# 先复制依赖清单,利用 Docker 缓存层
|
||||||
COPY package.json package-lock.json ./
|
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 . .
|
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
|
FROM nginx:stable-alpine
|
||||||
|
|||||||
Reference in New Issue
Block a user