ci(sf-vertx): 添加 Docker 镜像构建和推送工作流

- 新增 builder-sf-vertx.yaml 文件,定义 Docker 镜像构建和推送工作流
- 更新 Dockerfile,使用多阶段构建以减小镜像大小
- 工作流在 main 分支或 releases/* 分支推送时触发
- 使用 DockerHub 登录操作,支持私有仓库推送
This commit is contained in:
jun 2025-05-16 05:34:19 -04:00
parent 15f2eb9a0c
commit 1ddb6a2eb9
2 changed files with 42 additions and 7 deletions

View File

@ -0,0 +1,25 @@
name: Build and Push Docker Image
on:
push:
branches:
- main # 触发分支
- "releases/*" # 可选通配符
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: docker/checkout@v4
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: 192.168.5.120
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: 构建 Docker 镜像
run:
docker build -t 192.168.5.120/sac/sf-vertx -f ./sf-vertx/Dockerfile --push .

View File

@ -1,8 +1,18 @@
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
# 复制jar文件到路径
COPY sf-vertx/target/sf-vertx.jar /usr/local/sf-vertx.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 指定路径
WORKDIR /usr/local
FROM 192.168.5.120/library/maven:latest AS builder
ENTRYPOINT ["java","-jar","sf-vertx.jar"]
WORKDIR /app
COPY . .
RUN mvn -B clean package -am -pl sf-vertx -Dmaven.test.skip=true -Dautoconfig.skip
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
WORKDIR /app
# 复制jar文件到路径
COPY --from=builder /app/sf-vertx/target/sf-vertx.jar /app/sf-vertx.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-jar","/app/sf-vertx.jar"]