build docker

This commit is contained in:
Ronmi Ren 2025-01-06 12:35:17 +08:00
commit cd148b9fa6
3 changed files with 60 additions and 0 deletions

3
.dockerignore Normal file
View file

@ -0,0 +1,3 @@
/.git
/.rmi-work
/.forgejo

View file

@ -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

10
Dockerfile Normal file
View file

@ -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"]