From bf88af49a1322647af87c22170a5440df8c3faeb Mon Sep 17 00:00:00 2001 From: Sonia Zorba Date: Thu, 17 Dec 2020 15:24:12 +0100 Subject: [PATCH] Added CI --- .gitlab-ci.yml | 25 +++++++++++++++++++++++++ Dockerfile | 11 +++++++++++ README.md | 6 ++++++ docker-env | 8 ++++++++ pom.xml | 38 +++++++++++++++++++++++++++++++++++++- 5 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile create mode 100644 docker-env diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..251616a --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,25 @@ +stages: + - test + - dockerize + +test: + stage: test + tags: + - docker + script: + - mvn clean test + - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print "coverage=" 100*covered/instructions }' target/site/jacoco/jacoco.csv + coverage: '/coverage=\d+\.\d+/' + only: + - master + +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..824a8cb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM maven:3.6.3-openjdk-14 + +ADD src /src +ADD pom.xml . + +RUN mvn clean package -DskipTests -DfinalName=vospace-file-service + +FROM openjdk:14-jdk-alpine +COPY --from=0 /target/vospace-file-service.jar /vospace-file-service.jar + +ENTRYPOINT ["java","-jar","/vospace-file-service.jar"] diff --git a/README.md b/README.md index 0d6e182..0cdfe83 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,9 @@ This service queries the same database used by VOSpace (`file_catalog`). It provides functionalities for downloading and uploading files. + +## Running with Docker + +See `docker-env` file for configuration + + docker run -it --env-file docker-env -v "/path/to/userspace:/tmp/fsdemo" -p 8080:8080 git.ia2.inaf.it:5050/ia2/vospace-file-service diff --git a/docker-env b/docker-env new file mode 100644 index 0000000..0562a66 --- /dev/null +++ b/docker-env @@ -0,0 +1,8 @@ +path_prefix=/tmp/fsdemo + +file-catalog.datasource.jdbc-url=jdbc:postgresql://172.19.0.1:5432/vospace_testdb +file-catalog.datasource.username=postgres +file-catalog.datasource.password= + +gms_base_url=https://sso.ia2.inaf.it/gms +jwks_uri=https://sso.ia2.inaf.it/rap-ia2/auth/oidc/jwks diff --git a/pom.xml b/pom.xml index a7ee15f..4d92333 100644 --- a/pom.xml +++ b/pom.xml @@ -16,6 +16,7 @@ 14 + ${project.artifactId}-${project.version} @@ -58,11 +59,46 @@ + + + ia2-snapshots + your custom repo + http://repo.ia2.inaf.it/maven/repository/snapshots + + + - + ${finalName} + + + maven-surefire-plugin + 2.22.2 + org.springframework.boot spring-boot-maven-plugin + + true + + + + org.jacoco + jacoco-maven-plugin + 0.8.6 + + + + prepare-agent + + + + report + test + + report + + + -- GitLab