diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..37384dc2cb404401dabf367624472eaf1801e223 --- /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 0000000000000000000000000000000000000000..6630ebf1711326b0f6269e07c586aed033caf6c5 --- /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"]