Multi-platform images (#1924)
* base front production image on official nginx * build multi-platform docker images * build message types outside docker * set docker build context to path * build message types before running e2e tests * add build for arm/v7 * remove build for arm/v7 * increase yarn network timeout * set front port to 80 * add git labels to images https://github.com/docker/build-push-action/blob/master/UPGRADE.md#tags-with-ref-and-git-labels * add images input * Adding back commented code in the Dockerfile (the protobuf message building). This way, when node-grpc supports ARM64, we can uncomment the code again. Co-authored-by: David Négrier <d.negrier@thecodingmachine.com> Co-authored-by: Lukas Hass @lukashass
This commit is contained in:
+14
-10
@@ -1,19 +1,23 @@
|
||||
# The building of ProtoBuf "messages" must be done out of Docker because grpc-node does not ship with ARM64 binaries.
|
||||
# See: https://github.com/grpc/grpc-node/issues/1405
|
||||
# When the issue above is closed, we can move back messages building inside Dockerfile
|
||||
|
||||
# protobuf build
|
||||
FROM node:14.18.2-buster-slim@sha256:20bedf0c09de887379e59a41c04284974f5fb529cf0e13aab613473ce298da3d as builder
|
||||
WORKDIR /usr/src
|
||||
COPY messages/yarn.lock messages/package.json ./
|
||||
RUN yarn install
|
||||
COPY messages .
|
||||
RUN yarn proto
|
||||
#FROM node:14.18.2-buster-slim@sha256:20bedf0c09de887379e59a41c04284974f5fb529cf0e13aab613473ce298da3d as proto-builder
|
||||
#WORKDIR /usr/src
|
||||
#COPY messages/yarn.lock messages/package.json ./
|
||||
#RUN yarn install
|
||||
#COPY messages .
|
||||
#RUN yarn proto
|
||||
|
||||
# typescript build
|
||||
FROM node:14.18.2-buster-slim@sha256:20bedf0c09de887379e59a41c04284974f5fb529cf0e13aab613473ce298da3d as builder2
|
||||
FROM node:14.18.2-buster-slim@sha256:20bedf0c09de887379e59a41c04284974f5fb529cf0e13aab613473ce298da3d as builder
|
||||
WORKDIR /usr/src
|
||||
COPY pusher/yarn.lock pusher/package.json ./
|
||||
RUN yarn install
|
||||
COPY pusher .
|
||||
COPY --from=builder /usr/src/generated src/Messages/generated
|
||||
COPY --from=builder /usr/src/JsonMessages src/Messages/JsonMessages
|
||||
#COPY --from=proto-builder /usr/src/generated src/Messages/generated
|
||||
#COPY --from=proto-builder /usr/src/JsonMessages src/Messages/JsonMessages
|
||||
ENV NODE_ENV=production
|
||||
RUN yarn run tsc
|
||||
|
||||
@@ -23,7 +27,7 @@ WORKDIR /usr/src
|
||||
COPY pusher/yarn.lock pusher/package.json ./
|
||||
ENV NODE_ENV=production
|
||||
RUN yarn install --production
|
||||
COPY --from=builder2 /usr/src/dist /usr/src/dist
|
||||
COPY --from=builder /usr/src/dist /usr/src/dist
|
||||
|
||||
USER node
|
||||
CMD ["yarn", "run", "runprod"]
|
||||
|
||||
Reference in New Issue
Block a user