From 03620c68a603dc70287a04e666dcecd289040601 Mon Sep 17 00:00:00 2001 From: aipc Date: Tue, 1 Apr 2025 19:21:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E4=BD=9C=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build-docker-images.yml | 71 ++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .gitea/workflows/build-docker-images.yml diff --git a/.gitea/workflows/build-docker-images.yml b/.gitea/workflows/build-docker-images.yml new file mode 100644 index 0000000..a3ef487 --- /dev/null +++ b/.gitea/workflows/build-docker-images.yml @@ -0,0 +1,71 @@ +name: Docker Image Build and Push + +on: + workflow_dispatch: + inputs: + version: + description: '宝塔版本' + required: true + default: '9.5.0' + +jobs: + build-and-push-multiarch: + name: Build and Push Multi-Arch Docker Image + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build AMD64 Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64 + push: false + tags: | + ldxw/btpanel:latest-amd64 + ldxw/btpanel:${{ github.event.inputs.version }}-amd64 + + - name: Build ARM64 Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ./arm64/Dockerfile + platforms: linux/arm64 + push: false + tags: | + ldxw/btpanel:latest-arm64 + ldxw/btpanel:${{ github.event.inputs.version }}-arm64 + + - name: Create and push multi-arch manifest + run: | + docker manifest create \ + ldxw/btpanel:latest \ + ldxw/btpanel:latest-amd64 \ + ldxw/btpanel:latest-arm64 + docker manifest annotate \ + ldxw/btpanel:latest \ + ldxw/btpanel:latest-arm64 \ + --os linux --arch arm64 + docker manifest push ldxw/btpanel:latest + + docker manifest create \ + ldxw/btpanel:${{ github.event.inputs.version }} \ + ldxw/btpanel:${{ github.event.inputs.version }}-amd64 \ + ldxw/btpanel:${{ github.event.inputs.version }}-arm64 + docker manifest annotate \ + ldxw/btpanel:${{ github.event.inputs.version }} \ + ldxw/btpanel:${{ github.event.inputs.version }}-arm64 \ + --os linux --arch arm64 + docker manifest push ldxw/btpanel:${{ github.event.inputs.version }} + \ No newline at end of file