From 519d915803ac48e348a129b9812d3099bb2063e8 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 5 Sep 2022 16:44:22 +0200 Subject: [PATCH] switch to plain file, obsgit has some issues with symlink ATM --- Dockerfile | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) mode change 120000 => 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 120000 index 9d846690..00000000 --- a/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -Dockerfile.bci \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..38220732 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +# syntax=docker/dockerfile:1.3 + +ARG BCI_MICRO=registry.suse.com/bci/bci-micro +ARG BCI_GO=registry.suse.com/bci/golang +ARG GO_VERSION=1.18 +ARG GORELEASER_XX_VERSION=1.2.5 + +FROM crazymax/goreleaser-xx:${GORELEASER_XX_VERSION} AS goreleaser-xx +FROM ${BCI_GO}:${GO_VERSION} AS base +COPY --from=goreleaser-xx / / +RUN zypper --non-interactive install -y file git-core +WORKDIR /src + +FROM base AS build +ENV GO111MODULE=auto +ENV CGO_ENABLED=0 +# GIT_REF is used by goreleaser-xx to handle the proper git ref when available. +# It will fallback to the working tree info if empty and use "git tag --points-at" +# or "git describe" to define the version info. +ARG GIT_REF +ARG TARGETPLATFORM +ARG PKG="github.com/distribution/distribution/v3" +ARG BUILDTAGS="include_oss include_gcs" +RUN --mount=type=bind,target=/src,rw \ + --mount=type=cache,target=/root/.cache/go-build \ + --mount=target=/go/pkg/mod,type=cache \ + goreleaser-xx --debug \ + --name="registry" \ + --dist="/out" \ + --main="./cmd/registry" \ + --flags="-v" \ + --ldflags="-s -w -X '$PKG/version.Version={{.Version}}' -X '$PKG/version.Revision={{.Commit}}' -X '$PKG/version.Package=$PKG'" \ + --tags="$BUILDTAGS" \ + --files="LICENSE" \ + --files="README.md" + +FROM scratch AS artifact +COPY --from=build /out/*.tar.gz / +COPY --from=build /out/*.zip / +COPY --from=build /out/*.sha256 / + +FROM scratch AS binary +COPY --from=build /usr/local/bin/registry* / + +FROM ${BCI_MICRO} +COPY cmd/registry/config-dev.yml /etc/docker/registry/config.yml +COPY --from=build /usr/local/bin/registry /bin/registry +VOLUME ["/var/lib/registry"] +EXPOSE 5000 +ENTRYPOINT ["registry"] +CMD ["serve", "/etc/docker/registry/config.yml"]