From 0036dfcf2176fef1e9c105a0d23adb9d9d350bda Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Mon, 21 Dec 2020 11:07:39 +0100
Subject: [PATCH] Added Dockerfile and CI

---
 .gitlab-ci.yml | 14 ++++++++++++++
 Dockerfile     | 28 ++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..37384dc
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,14 @@
+stages:
+  - test
+  - dockerize
+
+deploy:
+  stage: dockerize
+  tags:
+    - shell
+  only:
+    - master
+  script:
+    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
+    - docker build -t "${CI_REGISTRY_IMAGE}" .
+    - docker push "${CI_REGISTRY_IMAGE}"
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..6630ebf
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,28 @@
+FROM git.ia2.inaf.it:5050/ia2/ia2-devops/maven_npm
+
+ADD vospace-ui-frontend/package.json /vospace-ui-frontend/
+WORKDIR /vospace-ui-frontend
+RUN npm install
+
+ADD vospace-ui-backend/pom.xml /vospace-ui-backend/
+WORKDIR /vospace-ui-backend
+RUN mvn initialize
+
+ADD vospace-ui-frontend/src /vospace-ui-frontend/src/
+ADD vospace-ui-frontend/public /vospace-ui-frontend/public/
+ADD vospace-ui-frontend/*.js /vospace-ui-frontend/
+ADD vospace-ui-frontend/*.json /vospace-ui-frontend/
+ADD vospace-ui-frontend/.env.production /vospace-ui-frontend/
+WORKDIR /vospace-ui-frontend
+RUN npm run build
+
+ADD vospace-ui-backend/src /vospace-ui-backend/src/
+ADD vospace-ui-backend/pom.xml /vospace-ui-backend/
+
+WORKDIR /vospace-ui-backend
+
+RUN mvn clean package -DskipTests -Pinclude-gui
+
+FROM openjdk:14-jdk-alpine
+COPY --from=0 /vospace-ui-backend/target/vospace-ui.jar /vospace-ui.jar
+ENTRYPOINT ["java","-jar","/vospace-ui.jar"]
-- 
GitLab