diff --git a/captain.yml b/captain.yml index f5f137b5c21279809feb19d4860543c0fa8589a0..dfec192b4b9fc3fafd50050d34017a958fc70bd1 100644 --- a/captain.yml +++ b/captain.yml @@ -2,10 +2,10 @@ portal-backend-build: build: ./src/docker/build/Dockerfile image: hbpmip/portal-backend-build pre: - - echo 'Building portal-backend-build' + - echo "Building portal-backend-build" post: - docker run --rm -v $WORKSPACE:/opt/portal/ -v $WORKSPACE/.m2:/root/.m2/ hbpmip/portal-backend-build - - echo 'Finished building portal-backend-build' + - echo "Finished building portal-backend-build" test: - ./tests/test-build.sh @@ -13,13 +13,13 @@ portal-backend: build: ./src/docker/run/Dockerfile image: hbpmip/portal-backend pre: - - echo 'Building portal-backend' + - echo "Building portal-backend" - cp -r $(pwd)/config/ $(pwd)/src/docker/run/config/ - cp -r $(pwd)/target/ $(pwd)/src/docker/run/target/ post: - rm -rf $WORKSPACE/src/docker/run/target/ - rm -rf $WORKSPACE/src/docker/run/config/ - - echo 'Finished building portal-backend' + - echo "Finished building portal-backend" test: - ./tests/pre-test-run.sh - ./tests/test-run.sh diff --git a/captain_run.sh b/captain_run.sh index a68901c8403588a8c321192f8f0fbe43bd8dc2da..f1b9f8af252416139325b77d0522e389b2e6913d 100755 --- a/captain_run.sh +++ b/captain_run.sh @@ -16,7 +16,7 @@ fi docker run --name portal-db -p 5432:5432 -e POSTGRES_USER=postgres -d postgres -echo 'Waiting for DB to start...' +echo "Waiting for DB to start..." until [ $(docker exec portal-db psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do printf '.' sleep 1 @@ -28,7 +28,7 @@ docker run --name portal-backend -p 8080:8080 \ -e "FRONTEND_REDIRECT_URL=http://localhost/home" \ -d hbpmip/portal-backend -echo 'Waiting for backend to start...' +echo "Waiting for backend to start..." until [ $(docker logs portal-backend | grep "Started MIPApplication" | wc -l) -eq 1 ]; do printf '.' sleep 1 diff --git a/config/application.yml b/config/application.yml index e1f4fd78cc195cacf3a2b0a47800fc547bfa48c5..0a072a4e207e1a7e0c3d755de1a0a52bbe5dbb6d 100644 --- a/config/application.yml +++ b/config/application.yml @@ -1,4 +1,4 @@ -# ONLY FOR DEVELOPMENT - Configuration for the portal running inside a Docker container +# Configuration template for the portal running inside a Docker container spring: datasource: diff --git a/pom.xml b/pom.xml index 23c8733a7d86b1ed42b9bba7030b697cc5147351..c84374d1690e20311fd256786caa73694e23953c 100644 --- a/pom.xml +++ b/pom.xml @@ -28,25 +28,25 @@ <asciidoctorj.pdf.version>1.5.0-alpha.11</asciidoctorj.pdf.version> <asciidoctorj.version>1.5.4</asciidoctorj.version> <spring-data-commons.version>1.12.2.RELEASE</spring-data-commons.version> - <angularjs.version>1.4.3</angularjs.version> - <jquery.version>2.1.1</jquery.version> - <bootstrap.version>3.2.0</bootstrap.version> + <angularjs.version>1.5.7</angularjs.version> + <jquery.version>3.0.0</jquery.version> + <bootstrap.version>3.3.7</bootstrap.version> + <h2.version>1.4.192</h2.version> + <postgresql.version>9.4-1206-jdbc42</postgresql.version> + <springfox-swagger2.version>2.5.0</springfox-swagger2.version> + <springfox-swagger-ui.version>2.5.0</springfox-swagger-ui.version> + <gson.version>2.7</gson.version> + <slugify.version>2.1.5</slugify.version> + <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version> + <sonar-maven-plugin.version>3.0.2</sonar-maven-plugin.version> + <swagger2markup-maven-plugin.version>1.0.0</swagger2markup-maven-plugin.version> + <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> + <hibernate4-maven-plugin.version>1.1.0</hibernate4-maven-plugin.version> + <flyway-core.version>4.0.3</flyway-core.version> <hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version> <hibernate-core.version>4.3.8.Final</hibernate-core.version> <hibernate-entitymanager.version>4.3.8.Final</hibernate-entitymanager.version> - <h2.version>1.4.187</h2.version> - <postgresql.version>9.4-1205-jdbc42</postgresql.version> - <springfox-swagger2.version>2.3.1</springfox-swagger2.version> - <springfox-swagger-ui.version>2.3.1</springfox-swagger-ui.version> - <gson.version>2.5</gson.version> - <slugify.version>2.1.4</slugify.version> <spring-data-jpa.version>1.10.2.RELEASE</spring-data-jpa.version> - <maven-resources-plugin.version>2.3</maven-resources-plugin.version> - <sonar-maven-plugin.version>3.0.1</sonar-maven-plugin.version> - <swagger2markup-maven-plugin.version>1.0.0</swagger2markup-maven-plugin.version> - <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version> - <hibernate4-maven-plugin.version>1.1.0</hibernate4-maven-plugin.version> - <flyway-core.version>4.0.3</flyway-core.version> </properties> <dependencies> diff --git a/run.sh b/run.sh index 5e1eb02e0860c7b55ca9ca928647b04f5c02ef50..29c1f9f3b6c3c676d396160dc937622077ae23f3 100755 --- a/run.sh +++ b/run.sh @@ -3,7 +3,7 @@ docker-compose build docker-compose up -d portal-db -echo 'Waiting for database to be ready...' +echo "Waiting for database to be ready..." until [ $(docker-compose exec portal-db psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do printf '.' sleep 1 diff --git a/src/docker/build/Dockerfile b/src/docker/build/Dockerfile index 2f62e5c9a4456109c38283a0e513022ab22e3aa0..2773500814e0f2882363f35f3288c19359d06214 100644 --- a/src/docker/build/Dockerfile +++ b/src/docker/build/Dockerfile @@ -3,6 +3,7 @@ FROM maven:3-jdk-8 MAINTAINER mirco.nasuti@chuv.ch COPY ./build-in-docker.sh /build-in-docker.sh +COPY ./certs/hbps1.crt /hbps1.crt VOLUME /opt/portal/ WORKDIR /opt/portal/ diff --git a/src/docker/build/build-in-docker.sh b/src/docker/build/build-in-docker.sh index b0a5fb6a63db3b6007de22fc0b71fb5b5ea5fb41..0d54e17f78ca0dbdaba1914c69fd890e68a7e7f4 100644 --- a/src/docker/build/build-in-docker.sh +++ b/src/docker/build/build-in-docker.sh @@ -1,7 +1,13 @@ #!/usr/bin/env bash -echo 'Removing old target folder...' +echo "Removing old target folder..." rm -rf target/ -echo 'Packaging...' +echo "Packaging..." mvn package + +echo "Adding HBPS1 certificate to key store..." +yes | keytool -import -trustcacerts -alias hbps1.chuv.ch -file /hbps1.crt -storepass 'changeit' -keystore $JAVA_HOME/jre/lib/security/cacerts + +echo "Running Sonar analysis" +mvn sonar:sonar diff --git a/src/docker/build/certs/hbps1.crt b/src/docker/build/certs/hbps1.crt new file mode 100644 index 0000000000000000000000000000000000000000..05e7e3c92d7bc88847d7262fe4bc352cf67078dc --- /dev/null +++ b/src/docker/build/certs/hbps1.crt @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIF/jCCBOagAwIBAgISAzjqbL0qFPB6BUHz3/iTCtRdMA0GCSqGSIb3DQEBCwUA +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjA0MDEwMTMwMDBaFw0x +NjA2MzAwMTMwMDBaMBgxFjAUBgNVBAMTDWhicHMxLmNodXYuY2gwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQDQq+s6f0XeGqIg1AZwtI2dk04YmeOTafDq ++29CdzuRzNII3OrelQ50T3ngmhFiTUK1KIh3DrMCEIyzno2ECUs86av864P8fh6S +2OxqV1vH3iptlmorRgF4llO1MBIvvp3TsSianbcpt6iv9XwXFe67en/ixsA897Ty +VNseTQhxxHYL6xuRpaI2oGABjN6DgHbroGuqvJqQaS4i4Vq6R/C1A8wnrinWiUBp +So24bU3XrN57VelGPvtIQA4j8pH2guyrUlMfbzSxV+5qe6C5rncr8Oyh1geH086r +OeJsGluLJsu7DzJegYKeUR52Hz85b1vCNL6Mi/LRjhdl+7h1OdRiBXZANq9/d3mr +Bry4JsU9IFaBPm1FCrdI92o7MXZfpVGDZAI6vT+wwuEk182aCxAwntL9+/9uXCGy +uoGIGcFWGNNfSPqVm2Excy+vri9uRwcRhcjLlQZu3AVoEh1dLIYSnaBWLyOLPOeZ ++Ibd9yx4YHoS8egO72AuA+J33v6tedsfSxjLiHmYsCFeYta9KXO/up0W19hyUkb4 +ztKeid8zrigeu5n/eM4lhmst0h2Qdy5+kGNpRyRqU8aunecByQg1TCP1qfAweWvp +Q4Osp8Yn7uPG2bXHIPLJurE0QdCmrxpxJPo5VM88EWjDQngo2wOi3uWI9J54IMX3 ++Jt0t1Zl0wIDAQABo4ICDjCCAgowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQG +CCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTlHneJ +ADq3DwRG24BZPcd3fXygizAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86js +oTBwBggrBgEFBQcBAQRkMGIwLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLmludC14 +My5sZXRzZW5jcnlwdC5vcmcvMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQt +eDMubGV0c2VuY3J5cHQub3JnLzAYBgNVHREEETAPgg1oYnBzMS5jaHV2LmNoMIH+ +BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHmBgsrBgEEAYLfEwEBATCB1jAmBggrBgEF +BQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwgasGCCsGAQUFBwICMIGe +DIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkgb25seSBiZSByZWxpZWQgdXBvbiBieSBS +ZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBD +ZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQgYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5v +cmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAAQe8VbUW0Riwt1/vTUD +EKL3bYY1ZoYdt4uXaX+tPD+QRyxttABw911sWSyimCOFVFke0iELbM2pMod1T/TD +Bz8FDLvM+lWI8SIl2I1DeBySJ9UzgE4kMf+RvbC8F4/KNw9O935JlxcAJFB7hW6y +klyWOUHdNCqMDP09fxTQV1e6xQmpO9t4NxC+DHxxDCHAVmjnkhcX76ckdMmecz+Q +UNPSuhthewTxCuaP2O1m5oZWkT5+OLUMLUAEcWXBDfWIXxPNyVtia1tqfhCslUGI +BgNE/HmSoNhJ7q6x+pJyODYJMEVUViY/U4IdWih8j+JIrAVMk55Wpd2PCB1lsepl +NfY= +-----END CERTIFICATE----- diff --git a/tests/pre-test-run.sh b/tests/pre-test-run.sh index 2ca3370c9560feff9ba69aca516d88f000fc59a8..0aabe1291efc49233805410657ef8b9bd1712e7b 100755 --- a/tests/pre-test-run.sh +++ b/tests/pre-test-run.sh @@ -16,7 +16,7 @@ fi docker run --name portal-db-test -p 5432:5432 -e POSTGRES_USER=postgres -d postgres -echo 'Waiting for DB to start...' +echo "Waiting for DB to start..." until [ $(docker exec portal-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do printf '.' sleep 1 @@ -29,7 +29,7 @@ docker run --name portal-backend-test -p 8080:8080 \ -e "DB_URL=jdbc:postgresql://$GATEWAY_IP:5432/postgres" \ -d hbpmip/portal-backend -echo 'Waiting for backend to start...' +echo "Waiting for backend to start..." until [ $(docker logs portal-backend-test | grep "Started MIPApplication" | wc -l) -eq 1 ]; do printf '.' sleep 1