Compare commits
2 Commits
8cba7f9c8a
...
ca9433e0ea
Author | SHA1 | Date |
---|---|---|
pat-s | ca9433e0ea | |
pat-s | d09c6e1218 |
|
@ -29,10 +29,11 @@ steps:
|
||||||
|
|
||||||
docker-dryrun:
|
docker-dryrun:
|
||||||
depends_on: vendor
|
depends_on: vendor
|
||||||
image: plugins/kaniko:1.8.8
|
image: woodpeckerci/plugin-docker-buildx:3.2.1
|
||||||
settings:
|
settings:
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
no_push: true
|
platforms: linux/amd64
|
||||||
|
dry-run: true
|
||||||
tags: latest
|
tags: latest
|
||||||
when:
|
when:
|
||||||
- event: [push, pull_request]
|
- event: [push, pull_request]
|
||||||
|
@ -98,10 +99,11 @@ steps:
|
||||||
|
|
||||||
docker-next:
|
docker-next:
|
||||||
depends_on: vendor
|
depends_on: vendor
|
||||||
image: plugins/kaniko:1.8.8
|
image: woodpeckerci/plugin-docker-buildx:3.2.1
|
||||||
settings:
|
settings:
|
||||||
registry: codeberg.org
|
registry: codeberg.org
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
platforms: linux/amd64,arm64
|
||||||
repo: codeberg.org/codeberg/pages-server
|
repo: codeberg.org/codeberg/pages-server
|
||||||
tags: next
|
tags: next
|
||||||
username:
|
username:
|
||||||
|
@ -114,10 +116,11 @@ steps:
|
||||||
|
|
||||||
docker-tag:
|
docker-tag:
|
||||||
depends_on: vendor
|
depends_on: vendor
|
||||||
image: plugins/kaniko:1.8.8
|
image: woodpeckerci/plugin-docker-buildx:3.2.1
|
||||||
settings:
|
settings:
|
||||||
registry: codeberg.org
|
registry: codeberg.org
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
platforms: linux/amd64,arm64
|
||||||
repo: codeberg.org/codeberg/pages-server
|
repo: codeberg.org/codeberg/pages-server
|
||||||
tags: [latest, '${CI_COMMIT_TAG}']
|
tags: [latest, '${CI_COMMIT_TAG}']
|
||||||
username:
|
username:
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
when:
|
when:
|
||||||
- event: pull_request
|
- event: pull_request
|
||||||
- event: push
|
- event: push
|
||||||
branch: renovate/*
|
branch:
|
||||||
|
- ${CI_REPO_DEFAULT_BRANCH}
|
||||||
|
- renovate/**
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
lint:
|
lint:
|
||||||
|
|
31
Dockerfile
31
Dockerfile
|
@ -1,14 +1,35 @@
|
||||||
FROM techknowlogick/xgo as build
|
# Set the default Go version as a build argument
|
||||||
|
ARG XGO="go-1.21.x"
|
||||||
|
|
||||||
WORKDIR /workspace
|
# Use xgo (a Go cross-compiler tool) as build image
|
||||||
|
FROM --platform=$BUILDPLATFORM techknowlogick/xgo:${XGO} as build
|
||||||
|
|
||||||
COPY . .
|
# Set the working directory and copy the source code
|
||||||
RUN CGO_ENABLED=1 go build -tags 'sqlite sqlite_unlock_notify netgo' -ldflags '-s -w -extldflags "-static" -linkmode external' .
|
WORKDIR /go/src/codeberg.org/codeberg/pages
|
||||||
|
COPY . /go/src/codeberg.org/codeberg/pages
|
||||||
|
|
||||||
|
# Set the target architecture (can be set using --build-arg), buildx set it automatically
|
||||||
|
ARG TARGETOS TARGETARCH
|
||||||
|
|
||||||
|
# Build the binary using xgo
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
|
--mount=type=cache,target=/go/pkg \
|
||||||
|
GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=1 \
|
||||||
|
xgo -x -v --targets=${TARGETOS}/${TARGETARCH} -tags='sqlite sqlite_unlock_notify netgo' -ldflags='-s -w -extldflags "-static" -linkmode external' -out pages .
|
||||||
|
|
||||||
|
# Use a scratch image as the base image for the final container,
|
||||||
|
# which will contain only the built binary and the CA certificates
|
||||||
FROM scratch
|
FROM scratch
|
||||||
COPY --from=build /workspace/pages /pages
|
|
||||||
|
# Copy the built binary and the CA certificates from the build container to the final container
|
||||||
|
COPY --from=build /go/src/codeberg.org/codeberg/pages/ /pages
|
||||||
COPY --from=build \
|
COPY --from=build \
|
||||||
/etc/ssl/certs/ca-certificates.crt \
|
/etc/ssl/certs/ca-certificates.crt \
|
||||||
/etc/ssl/certs/ca-certificates.crt
|
/etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
# Expose ports 80 and 443 for the built binary to listen on
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
EXPOSE 443/tcp
|
||||||
|
|
||||||
|
# Set the entrypoint for the container to the built binary
|
||||||
ENTRYPOINT ["/pages"]
|
ENTRYPOINT ["/pages"]
|
||||||
|
|
Loading…
Reference in New Issue