diff --git a/.github/workflows/image_creation.yml b/.github/workflows/image_creation.yml index 63d1cec..896f256 100644 --- a/.github/workflows/image_creation.yml +++ b/.github/workflows/image_creation.yml @@ -76,7 +76,7 @@ jobs: run: | apt update apt install -y gettext-base - apt clean + apt clean - name: create deployment files env: diff --git a/Dockerfile b/Dockerfile index 948d098..65f756b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,18 @@ -FROM debian:unstable-slim -ARG BINAME=us-dop-api-linux-arm64-0.0.0_1 -RUN mkdir /app -COPY ./assets/ /app/assets/ - -COPY ./bin/${BINAME} /usr/bin/us-dop-api +FROM golang:alpine AS builder +ARG TARGETARCH +ARG version=not-set +ARG SHORTSHA=not-set WORKDIR /app -CMD ["us-dop-api"] +COPY . . +# https://stackoverflow.com/questions/70369368/check-architecture-in-dockerfile-to-get-amd-arm +RUN go build -o bin/us-dop-api \ + -ldflags "-X main.Shortsha=${SHORTSHA} \ + -X main.Version=${version} \ + -X main.Aarch=${TARGETARCH}" ./cmd + +FROM alpine AS runner +WORKDIR /app +COPY --from=builder /app/bin/us-dop-api /usr/bin/ +COPY --from=builder /app/assets/ /app/assets/ +ENTRYPOINT /usr/bin/us-dop-api