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