From db6ff0c3855c2925de853594de0cde1b8ee193e1 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Fri, 26 Mar 2021 11:21:41 +0100
Subject: [PATCH] Added CI

---
 .gitlab-ci.yml                               | 99 ++++++++++++++++++++
 .gitmodules                                  |  2 +-
 private-rows-extensions/Dockerfile-build-env |  2 +-
 3 files changed, 101 insertions(+), 2 deletions(-)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..3fb433a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,99 @@
+stages:
+  - build_env
+  - build_base_war
+  - build_extension
+  - build_war
+  - build_tomcat
+
+variables:
+  # to avoid "fatal: git fetch-pack: expected shallow list"
+  GIT_STRATEGY: clone
+  GIT_SUBMODULE_STRATEGY: recursive
+
+build_extension_build_env:
+  stage: build_env
+  tags:
+    - shell
+  only:
+    refs:
+      - master
+    changes:
+      - private-rows-extensions/Dockerfile-build-env
+  script:
+    - cd private-rows-extensions
+    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
+    - docker build -t "${CI_REGISTRY_IMAGE}/extension_build_env" . -f Dockerfile-build-env
+    - docker push "${CI_REGISTRY_IMAGE}/extension_build_env"
+      
+build_db:
+  stage: build_env
+  tags:
+    - shell
+  only:
+    refs:
+      - master
+    changes:
+      - database
+  script:
+    - cd database
+    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
+    - docker build -t "${CI_REGISTRY_IMAGE}/database" .
+    - docker push "${CI_REGISTRY_IMAGE}/database"
+
+build_vollt_base_war:
+  stage: build_base_war
+  tags:
+    - docker
+  image: gradle:jdk8
+  only:
+    refs:
+      - master
+  script:
+    - cd vollt
+    - gradle war
+  artifacts:
+    paths:
+      - vollt/build/libs/vollt.war
+    expire_in: 7 days
+
+build_extension:
+  stage: build_extension
+  tags:
+    - docker
+  image: "${CI_REGISTRY_IMAGE}/extension_build_env"
+  script:
+    - cd vollt
+    - gradle jar
+    - cd ../private-rows-extensions
+    - mvn clean package
+  artifacts:
+    paths:
+      - private-rows-extensions/target/private-rows-extensions-*.jar
+    expire_in: 7 days
+
+build_war:
+  stage: build_war
+  tags:
+    - shell
+  only:
+    refs:
+      - master
+  script:
+    - cd war
+    - ./fill-war.sh
+  artifacts:
+    paths:
+      - war/tap.war
+    expire_in: 7 days
+
+build_tomcat_image:
+  stage: build_tomcat
+  tags:
+    - shell
+  only:
+    refs:
+      - master
+  script:
+    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
+    - docker build -t "${CI_REGISTRY_IMAGE}/tomcat" .
+    - docker push "${CI_REGISTRY_IMAGE}/tomcat"
diff --git a/.gitmodules b/.gitmodules
index 3b3e967..e557313 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
 [submodule "vollt"]
 	path = vollt
-	url = git@git.ia2.inaf.it:zorba/vollt.git
+	url = ../../zorba/vollt.git
 	branch = private_rows
diff --git a/private-rows-extensions/Dockerfile-build-env b/private-rows-extensions/Dockerfile-build-env
index c617b83..7ca2bf2 100644
--- a/private-rows-extensions/Dockerfile-build-env
+++ b/private-rows-extensions/Dockerfile-build-env
@@ -1,2 +1,2 @@
-FROM gradle:jre8
+FROM gradle:jdk8
 RUN apt-get update && apt install -y maven
-- 
GitLab