From cd148b9fa6c49586b8f42c4a2685709b14fbed5c Mon Sep 17 00:00:00 2001 From: Ronmi Ren Date: Mon, 6 Jan 2025 12:35:17 +0800 Subject: [PATCH] build docker --- .dockerignore | 3 ++ .forgejo/workflows/build-docker.yml | 47 +++++++++++++++++++++++++++++ Dockerfile | 10 ++++++ 3 files changed, 60 insertions(+) create mode 100644 .dockerignore create mode 100644 .forgejo/workflows/build-docker.yml create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..7288178 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +/.git +/.rmi-work +/.forgejo \ No newline at end of file diff --git a/.forgejo/workflows/build-docker.yml b/.forgejo/workflows/build-docker.yml new file mode 100644 index 0000000..d8253f3 --- /dev/null +++ b/.forgejo/workflows/build-docker.yml @@ -0,0 +1,47 @@ +on: + push: + +jobs: + docker: + runs-on: any + steps: + - name: Set up qemu for buildx + uses: docker/setup-qemu-action@v3 + - name: Setup buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/amd64,linux/arm64 + - name: Login + uses: docker/login-action@v3 + with: + registry: git.ronmi.tw + username: ronmi + password: ${{ secrets.PACKAGE_PUSH_KEY }} + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version: "1.23" + - name: Build arm64 binary + run: GOARCH=arm64 go build + - name: Build arm64 image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/arm64 + push: true + pull: true + tags: git.ronmi.tw/ronmi/forgejo-pages:arm64 + - name: Build amd64 binary + run: GOARCH=amd64 go build + - name: Build amd64 image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64 + push: true + pull: true + tags: git.ronmi.tw/ronmi/forgejo-pages:amd64 + - name: Create multiarch image + run: docker buildx imagetools create -t git.ronmi.tw/ronmi/forgejo-pages git.ronmi.tw/ronmi/forgejo-pages:arm64 git.ronmi.tw/ronmi/forgejo-pages:amd64 + + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e560873 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +# FROM golang:alpine AS builder +# ADD . /src +# WORKDIR /src +# RUN go build -o /forgejo-pages + +FROM alpine +RUN apk add --no-cache ca-certificates +# COPY --from=builder /forgejo-pages /usr/bin/forgejo-pages +ADD forgejo-pages /usr/bin/forgejo-pages +ENTRYPOINT ["forgejo-pages"]