From f4b6ce17fbdc8f81c37601160288ddc5ae2f1d90 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sun, 18 Apr 2021 22:04:13 +0300 Subject: [PATCH] single Dockerfile for both environments --- .gitlab-ci.yml | 4 ++-- Dockerfile | 4 ++-- Dockerfile.prod | 41 ----------------------------------------- 3 files changed, 4 insertions(+), 45 deletions(-) delete mode 100644 Dockerfile.prod diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cee8250..b49b3fa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -85,7 +85,7 @@ publish:dev: script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build . -t "$IMAGE_NAME":latest + - docker build . -t "$IMAGE_NAME":latest --build-arg NEXT_PUBLIC_API_URL=https://api.dev.sahkoinsinoorikilta.fi/api --build-arg NEXT_PUBLIC_SITE_URL=https://dev.sahkoinsinoorikilta.fi - docker push "$IMAGE_NAME":latest publish:prod: @@ -98,7 +98,7 @@ publish:prod: script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build . -f Dockerfile.prod -t "$IMAGE_NAME":prod + - docker build . -t "$IMAGE_NAME":prod - docker push "$IMAGE_NAME":prod deploy:dev: diff --git a/Dockerfile b/Dockerfile index bef9174..6314468 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,8 +13,8 @@ COPY . . COPY --from=deps /app/node_modules ./node_modules ENV NEXT_TELEMETRY_DISABLED=1 -ENV NEXT_PUBLIC_API_URL=https://api.dev.sahkoinsinoorikilta.fi/api -ENV NEXT_PUBLIC_SITE_URL=https://dev.sahkoinsinoorikilta.fi +ARG NEXT_PUBLIC_API_URL=https://api.sahkoinsinoorikilta.fi/api +ARG NEXT_PUBLIC_SITE_URL=https://sahkoinsinoorikilta.fi RUN npm run build # Production image, copy all the files and run next diff --git a/Dockerfile.prod b/Dockerfile.prod deleted file mode 100644 index bd6ae94..0000000 --- a/Dockerfile.prod +++ /dev/null @@ -1,41 +0,0 @@ -# Install dependencies only when needed -FROM node:14-alpine AS deps -# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. -RUN apk add --no-cache libc6-compat -WORKDIR /app -COPY package.json package-lock.json ./ -RUN npm ci - -# Rebuild the source code only when needed -FROM node:14-alpine AS builder -WORKDIR /app -COPY . . -COPY --from=deps /app/node_modules ./node_modules - -ENV NEXT_TELEMETRY_DISABLED=1 -ENV NEXT_PUBLIC_API_URL=https://api.sahkoinsinoorikilta.fi/api -ENV NEXT_PUBLIC_SITE_URL=https://sahkoinsinoorikilta.fi -RUN npm run build - -# Production image, copy all the files and run next -FROM node:14-alpine AS runner -WORKDIR /app - -ENV NODE_ENV production - -COPY --from=builder /app/next.config.js ./ -COPY --from=builder /app/public ./public -COPY --from=builder /app/.next ./.next -COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/package.json ./package.json - -RUN npm prune --production - -RUN addgroup -g 1001 -S nodejs -RUN adduser -S nextjs -u 1001 -RUN chown -R nextjs:nodejs /app/.next -USER nextjs - -EXPOSE 3000 - -CMD ["npm", "run", "serve"]