@@ -291,26 +291,58 @@ jobs:
291291 name : base-artifacts
292292 path : base
293293
294- - name : Upload Standalone JAR
295- env :
296- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
297- run : |
298- cd base
299- # 重命名以包含版本号
300- cp java-chains.jar java-chains-${{ inputs.version }}.jar
301-
302- gh release upload "${{ inputs.version }}" \
303- "java-chains-${{ inputs.version }}.jar" \
304- --repo "$GITHUB_REPOSITORY"
305294
306295 - name : Create and Upload Universal Tarball (No JDK)
307296 env :
308297 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
309298 run : |
310299 cd base
311300 # 创建不含 JDK 的纯净版 tar.gz
312- tar -czvf java-chains-${{ inputs.version }}-all .tar.gz java-chains.jar chains-config
301+ tar -czvf java-chains-${{ inputs.version }}.tar.gz java-chains.jar chains-config
313302
314303 gh release upload "${{ inputs.version }}" \
315- "java-chains-${{ inputs.version }}-all.tar.gz" \
316- --repo "$GITHUB_REPOSITORY"
304+ "java-chains-${{ inputs.version }}.tar.gz" \
305+ --repo "$GITHUB_REPOSITORY"
306+
307+ # ====================================================
308+ # Job 5: 构建并推送 Docker 镜像 (直接使用构建产物)
309+ # ====================================================
310+ docker_build :
311+ needs : build # 依赖 build 任务完成
312+ runs-on : ubuntu-latest
313+ steps :
314+ - name : Checkout Dockerfile
315+ uses : actions/checkout@v4
316+
317+ # 直接下载 Job 1 生成的临时产物,不需要去 Release 下载
318+ - name : Download Base Artifacts
319+ uses : actions/download-artifact@v4
320+ with :
321+ name : base-artifacts
322+ path : .
323+
324+ # 此时当前目录下有 java-chains.jar 和 chains-config 目录
325+ # 正好符合 Dockerfile 的 COPY 需求 (假设你的 Dockerfile 是 COPY 这些文件)
326+
327+ - name : Set up QEMU
328+ uses : docker/setup-qemu-action@v3
329+
330+ - name : Set up Docker Buildx
331+ uses : docker/setup-buildx-action@v3
332+
333+ - name : Log in to the Docker hub
334+ uses : docker/login-action@v3
335+ with :
336+ username : ${{ secrets.DOCKER_HUB_USERNAME }}
337+ password : ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
338+
339+ - name : Build and push image to Docker Hub
340+ uses : docker/build-push-action@v6
341+ with :
342+ file : Dockerfile
343+ context : .
344+ platforms : linux/amd64,linux/arm64
345+ push : true
346+ tags : |
347+ javachains/javachains:${{ inputs.version }}
348+ javachains/javachains:latest
0 commit comments