Compare commits
19 Commits
589197e284
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 20a80982fe | |||
| 5be74f2698 | |||
| bb9f0a3a1f | |||
| d1a2af3b6d | |||
| 08736d2692 | |||
| 919d4350d0 | |||
| 109c9f014b | |||
| 627ca54c65 | |||
| 4d5cdc0d16 | |||
| 35a1000c18 | |||
| 427d7ef9cd | |||
| fe0e98df69 | |||
| dd8d802279 | |||
| 8e17b97481 | |||
| 9e2d87acb6 | |||
| b3450bd58a | |||
| 9e67914b1b | |||
| a996c604dd | |||
| 38a9a81bae |
@@ -15,11 +15,13 @@ env:
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: docker
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: 检出代码
|
||||
uses: actions/checkout@v4
|
||||
run: |
|
||||
git clone https://git.boss160.cn/csxj2026/junhong_cmp_fiber.git .
|
||||
git checkout ${{ github.sha }}
|
||||
|
||||
- name: 设置镜像标签
|
||||
id: tag
|
||||
@@ -36,7 +38,7 @@ jobs:
|
||||
|
||||
- name: 登录 Docker Registry
|
||||
run: |
|
||||
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin
|
||||
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ env.REGISTRY }}" --username "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
|
||||
|
||||
- name: 构建 API 镜像
|
||||
run: |
|
||||
@@ -61,10 +63,10 @@ jobs:
|
||||
cd ${{ env.DEPLOY_DIR }}
|
||||
|
||||
echo "拉取最新镜像..."
|
||||
docker-compose -f docker-compose.prod.yml pull
|
||||
docker compose -f docker-compose.prod.yml pull
|
||||
|
||||
echo "执行滚动更新..."
|
||||
docker-compose -f docker-compose.prod.yml up -d --no-deps
|
||||
docker compose -f docker-compose.prod.yml up -d --no-deps
|
||||
|
||||
echo "等待服务健康检查..."
|
||||
sleep 10
|
||||
@@ -77,7 +79,7 @@ jobs:
|
||||
docker image prune -f
|
||||
|
||||
echo "部署完成!"
|
||||
docker-compose -f docker-compose.prod.yml ps
|
||||
docker compose -f docker-compose.prod.yml ps
|
||||
|
||||
- name: 构建结果通知
|
||||
if: always()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# ================================
|
||||
# 阶段 1: 构建阶段
|
||||
# ================================
|
||||
FROM golang:1.23.4-alpine AS builder
|
||||
FROM golang:1.25.6-alpine AS builder
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /build
|
||||
@@ -11,6 +11,10 @@ RUN apk add --no-cache git ca-certificates tzdata
|
||||
|
||||
# 复制 go.mod 和 go.sum(利用 Docker 缓存)
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
# 使用国内 Go 代理加速依赖下载
|
||||
ENV GOPROXY=https://goproxy.cn,direct
|
||||
|
||||
RUN go mod download
|
||||
|
||||
# 复制源代码
|
||||
@@ -20,7 +24,7 @@ COPY . .
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
|
||||
-ldflags="-w -s" \
|
||||
-o /build/api \
|
||||
cmd/api/main.go
|
||||
./cmd/api
|
||||
|
||||
# 下载 golang-migrate 工具
|
||||
RUN go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
|
||||
@@ -28,7 +32,7 @@ RUN go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate
|
||||
# ================================
|
||||
# 阶段 2: 运行阶段
|
||||
# ================================
|
||||
FROM alpine:latest
|
||||
FROM alpine:3.19
|
||||
|
||||
# 安装运行时依赖
|
||||
RUN apk add --no-cache ca-certificates tzdata bash curl
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# ================================
|
||||
# 阶段 1: 构建阶段
|
||||
# ================================
|
||||
FROM golang:1.23.4-alpine AS builder
|
||||
FROM golang:1.25.6-alpine AS builder
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /build
|
||||
@@ -11,6 +11,10 @@ RUN apk add --no-cache git ca-certificates tzdata
|
||||
|
||||
# 复制 go.mod 和 go.sum(利用 Docker 缓存)
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
# 使用国内 Go 代理加速依赖下载
|
||||
ENV GOPROXY=https://goproxy.cn,direct
|
||||
|
||||
RUN go mod download
|
||||
|
||||
# 复制源代码
|
||||
@@ -20,12 +24,12 @@ COPY . .
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
|
||||
-ldflags="-w -s" \
|
||||
-o /build/worker \
|
||||
cmd/worker/main.go
|
||||
./cmd/worker
|
||||
|
||||
# ================================
|
||||
# 阶段 2: 运行阶段
|
||||
# ================================
|
||||
FROM alpine:latest
|
||||
FROM alpine:3.19
|
||||
|
||||
# 安装运行时依赖
|
||||
RUN apk add --no-cache ca-certificates tzdata bash
|
||||
|
||||
Reference in New Issue
Block a user