name: Build and Push Next.js to Private Registry on: push: branches: - main # 新增:允许页面手动触发 workflow_dispatch: jobs: build-and-push: runs-on: ubuntu-latest steps: - name: 检查代码 uses: actions/checkout@v4 - name: 生成短哈希版本号 id: vars run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT # 关键步骤:配置 Buildx 允许不安全的 HTTP 私有仓库 - name: 设置 Docker Buildx uses: docker/setup-buildx-action@v3 with: driver-opts: | image=moby/buildkit:master config-inline: | [registry."192.168.10.236:31051"] http = true insecure = true - name: 构建并推送镜像 uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile push: true # 必须将镜像前缀改为你的私有仓库 IP 和端口 tags: | 192.168.10.236:31051/你的应用名:latest 192.168.10.236:31051/你的应用名:${{ steps.vars.outputs.sha_short }}