From a47c1291ab2a4f136ea517985348cdc5685be1f8 Mon Sep 17 00:00:00 2001 From: Sumedh Date: Thu, 8 Aug 2024 12:54:03 +0000 Subject: [PATCH 1/2] Dockerfile created --- Dockerfile | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9456250 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:latest as builder + +# automatically creates the dir and sets it as the current working dir +WORKDIR /usr/src/app +# this will allow us to run vite and other tools directly +ENV PATH /usr/src/node_modules/.bin:$PATH + +# inject all environment vars we'll need +ARG VITE_BACKEND_URL +ENV VITE_BACKEND_URL=$VITE_BACKEND_URL + +COPY package.json ./ + +RUN npm install + +COPY . ./ + +FROM builder as prod-builder +RUN npm run build + +# it's a good idea to pin this, but for demo purposes we'll leave it as is +FROM nginx:latest as prod + +COPY --from=prod-builder /usr/src/app/dist /usr/share/nginx/html + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file From f9c82f95596692e2d0d716c2c2c83d46eeecf592 Mon Sep 17 00:00:00 2001 From: Sumedh Date: Thu, 8 Aug 2024 12:57:46 +0000 Subject: [PATCH 2/2] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..d25fd94 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,46 @@ +# This file is a template, and might need editing before it works on your project. +# To contribute improvements to CI/CD templates, please follow the Development guide at: +# https://docs.gitlab.com/ee/development/cicd/templates.html +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Docker.gitlab-ci.yml + +# Build a Docker image with CI/CD and push to the GitLab registry. +# Docker-in-Docker documentation: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html +# +# This template uses one generic job with conditional builds +# for the default branch and all other (MR) branches. + +docker-build: + # Use the official docker image. + image: gcr.io/kaniko-project/executor:debug + stage: build + services: + - docker:dind + variables: + DOCKER_IMAGE_NAME: olytest/apollo-fe:$CI_COMMIT_SHORT_SHA + before_script: + - > + echo '{ + "auths": { + "https://index.docker.io/v1/": { + "auth": "b2x5dGVzdDpkY2tyX3BhdF9ZUFBCa21IVlVkbmx4R3dLT0t1TEtmQ1RTVTg=" + } + } + } ' >> /kaniko/.docker/config.json + + # All branches are tagged with $DOCKER_IMAGE_NAME (defaults to commit ref slug) + # Default branch is also tagged with `latest` + script: + - /kaniko/executor + --context "${CI_PROJECT_DIR}" + --dockerfile "${CI_PROJECT_DIR}/Dockerfile" + --destination "${DOCKER_IMAGE_NAME}" + --build-arg "VITE_BACKEND_URL=http://localhost:8082" + + # Run this job in a branch where a Dockerfile exists + rules: + - if: $CI_COMMIT_BRANCH + exists: + - Dockerfile + tags: + - OLYMPUS \ No newline at end of file