From 198ead604ff17273568347366307d237f2e474ed Mon Sep 17 00:00:00 2001 From: Julian Matschinske <ge93nar@mytum.de> Date: Tue, 28 Apr 2020 13:30:18 +0200 Subject: [PATCH] Add Dockerfiles for production and development --- .gitlab-ci.yml | 25 ++++++++++++++++++++++--- Dockerfile.dev | 26 ++++++++++++++++++++++++++ Dockerfile => Dockerfile.prod | 0 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 Dockerfile.dev rename Dockerfile => Dockerfile.prod (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0dbc0b0b..617fe222 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,7 @@ build: - check:lint - check:test -deploy: +deploy_dev: image: docker stage: deploy only: @@ -58,7 +58,26 @@ deploy: - docker info - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - - docker build -t gitlab.lrz.de:5005/covid-19/frontend . - - docker push gitlab.lrz.de:5005/covid-19/frontend + - docker build -t gitlab.lrz.de:5005/covid-19/frontend:dev -f ./Dockerfile.dev . + - docker push gitlab.lrz.de:5005/covid-19/frontend:dev + dependencies: + - build + +deploy_prod: + image: docker + stage: deploy + only: + - master + when: manual + services: + - docker:dind + variables: + CONTAINER_HOSTNAME: docker + before_script: + - docker info + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker build -t gitlab.lrz.de:5005/covid-19/frontend:prod -f ./Dockerfile.prod . + - docker push gitlab.lrz.de:5005/covid-19/frontend:prod dependencies: - build diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 00000000..92f94e58 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,26 @@ +FROM nginx + +RUN apt-get update +RUN apt-get install -y curl + +RUN curl -sL https://deb.nodesource.com/setup_10.x | bash + +RUN apt-get install -y nodejs + +COPY package.json /app/ +COPY package-lock.json /app/ + +WORKDIR /app/ + +RUN npm install + +COPY . /app/ + +RUN npm run build -- --prod --base-href=/covex_dev/ + +RUN cp -r dist/covid19/* /usr/share/nginx/html/ + +COPY nginx/default.conf /etc/nginx/conf.d/ +COPY nginx/htpasswd /etc/nginx/htpasswd + +EXPOSE 80 diff --git a/Dockerfile b/Dockerfile.prod similarity index 100% rename from Dockerfile rename to Dockerfile.prod -- GitLab