github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/services/frontend-service/Dockerfile (about)

     1  ARG PARENT_CONTAINER
     2  FROM europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult/infrastructure/docker/builder:${PARENT_CONTAINER} as builder
     3  RUN apk --update add --no-cache curl make nodejs npm ca-certificates tzdata
     4  RUN npm install -g pnpm@8.5.1
     5  
     6  # frontend-service:
     7  ADD services/frontend-service/cmd/server/ /kp/services/frontend-service/cmd/server/
     8  ADD services/frontend-service/pkg /kp/services/frontend-service/pkg
     9  ADD services/frontend-service/package.json /kp/services/frontend-service/
    10  ADD services/frontend-service/src /kp/services/frontend-service/src
    11  ADD services/frontend-service/buf* /kp/services/frontend-service/
    12  ADD services/frontend-service/pnpm-lock.yaml /kp/services/frontend-service/
    13  ADD services/frontend-service/pnpm-workspace.yaml /kp/services/frontend-service/
    14  ADD services/frontend-service/tsconfig.json /kp/services/frontend-service/
    15  ADD services/frontend-service/.prettierrc /kp/services/frontend-service/
    16  ADD services/frontend-service/.nvmrc /kp/services/frontend-service/
    17  ADD services/frontend-service/.npmrc /kp/services/frontend-service/
    18  ADD services/frontend-service/.eslintrc /kp/services/frontend-service/
    19  ADD services/frontend-service/public /kp/services/frontend-service/public
    20  ADD pkg/api/v1 /kp/services/frontend-service/api
    21  
    22  # global pkg:
    23  ADD pkg /kp/pkg
    24  COPY go.sum go.mod /kp/
    25  
    26  # Build go:
    27  WORKDIR /kp/
    28  ADD Makefile.variables .
    29  RUN make -C pkg proto
    30  RUN GOARCH=amd64 GOOS=linux CGO_ENABLED=0 go build -o /kp/main /kp/services/frontend-service/cmd/server/main.go
    31  
    32  # Build js:
    33  WORKDIR /kp/services/frontend-service/
    34  RUN pnpm i
    35  RUN mkdir -p src/api
    36  RUN buf generate --path api --timeout 5m
    37  RUN pnpm build
    38  
    39  FROM scratch
    40  LABEL org.opencontainers.image.source https://github.com/freiheit-com/kuberpult
    41  ENV TZ=Europe/Berlin
    42  COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
    43  COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
    44  COPY --from=builder /kp/main /main
    45  COPY --from=builder /kp/services/frontend-service/build /build
    46  CMD ["/main"]