From efad46124485f1572765fad05284d8a070fb9277 Mon Sep 17 00:00:00 2001 From: sandovalfr Date: Mon, 4 Mar 2019 09:31:59 -0500 Subject: small, multi-platform docker images Issue-ID: INT-907 Issue-ID: INT-908 Issue-ID: INT-909 Change-Id: I2df861f0098588ec9b394b501af2de6f7559c213 Signed-off-by: sandovalfr --- datarouter-node/pom.xml | 159 ++++++++++++++++----- .../src/main/resources/docker/Dockerfile | 34 +++++ 2 files changed, 154 insertions(+), 39 deletions(-) create mode 100644 datarouter-node/src/main/resources/docker/Dockerfile (limited to 'datarouter-node') diff --git a/datarouter-node/pom.xml b/datarouter-node/pom.xml index f722c790..3e75e88c 100755 --- a/datarouter-node/pom.xml +++ b/datarouter-node/pom.xml @@ -26,7 +26,7 @@ org.onap.dmaap.datarouter parent - 2.0.1-SNAPSHOT + 2.0.2-SNAPSHOT ../pom.xml datarouter-node @@ -38,6 +38,10 @@ true /content/sites/site/${project.groupId}/${project.artifactId}/${project.version} ${basedir}/target/${artifactId} + + ${maven.build.timestamp} + yyyyMMdd'T'HHmmss'Z' + onap/dmaap/datarouter-node @@ -226,40 +230,78 @@ + + - com.spotify + org.codehaus.groovy.maven + gmaven-plugin + + + validate + + execute + + + + ${project.version} + ${maven.build.timestamp} + + + println 'ver: ' + project.properties['ver']; + if ( project.properties['ver'].endsWith("-SNAPSHOT") ) { + project.properties['dockertag1']=project.properties['ver'] + "-latest"; + project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp']; + } else { + project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest"; + project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp']; + } + println 'docker tag 1: ' + project.properties['dockertag1']; + println 'docker tag 2: ' + project.properties['dockertag2']; + + + + + + + io.fabric8 docker-maven-plugin - ${docker.maven.plugin.version} + 0.28.0 - ${onap.nexus.dockerregistry.daily}/${datarouter.node.image.name} - java:8 - ${onap.nexus.dockerregistry.daily} - false - - ${project.version} - latest - - true - ["/startup.sh", "start"] - - - /opt - ${project.build.directory}/opt - - - / - ${docker.location} - startup.sh - - - - chmod 0700 /startup.sh - - - 8080 - 8443 - + ${docker.verbose} + ${docker.apiVersion} + ${docker.pull.registry} + ${docker.push.registry} + + + ${datarouter.node.image.name} + + try + ${basedir}/target/docker-stage + Dockerfile + + ${dockertag1} + ${dockertag2} + + + + + + + generate-images + install + + build + + + + push-images + deploy + + push + + + @@ -308,7 +350,7 @@ jar-with-dependencies - ${basedir}/target/opt/app/datartr/lib + ${basedir}/target/docker-stage/opt/app/datartr/lib true @@ -335,12 +377,12 @@ copy-docker-file - package + validate copy-resources - ${docker.location} + ${basedir}/target/docker-stage true @@ -354,13 +396,33 @@ - copy-resources + copy-startup-script + validate + + copy-resources + + + ${basedir}/target/docker-stage/opt + true + + + ${basedir}/src/main/resources/docker + true + + startup.sh + + + + + + + copy-resources-2 validate copy-resources - ${basedir}/target/opt/app/datartr/etc + ${basedir}/target/docker-stage/opt/app/datartr/etc ${basedir}/src/main/resources @@ -373,13 +435,32 @@ - copy-resources-1 + copy-resources-3 + validate + + copy-resources + + + ${basedir}/target/docker-stage/opt/app/datartr + + + ${basedir}/data + + misc/** + **/** + + + + + + + copy-resources-4 validate copy-resources - ${basedir}/target/opt/app/datartr/aaf_certs + ${basedir}/target/docker-stage/opt/app/datartr/aaf_certs ${basedir}/aaf_certs @@ -405,7 +486,7 @@ copy-dependencies - ${project.build.directory}/opt/app/datartr/lib + ${project.build.directory}/docker-stage/opt/app/datartr/lib false false true diff --git a/datarouter-node/src/main/resources/docker/Dockerfile b/datarouter-node/src/main/resources/docker/Dockerfile new file mode 100644 index 00000000..39007732 --- /dev/null +++ b/datarouter-node/src/main/resources/docker/Dockerfile @@ -0,0 +1,34 @@ +######### +# ============LICENSE_START==================================================== +# org.onap.dmaap +# =========================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright (C) 2018 Nokia. All rights reserved. +# =========================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END==================================================== +# +FROM openjdk:8-jre-alpine + +MAINTAINER DMAAP Team + +COPY /opt /opt + +# curl used for healthcheck +CMD apt update && apt add curl + +EXPOSE 8080 8443 + +WORKDIR /opt +RUN chmod 0700 startup.sh +ENTRYPOINT ["sh", "startup.sh"] -- cgit 1.2.3-korg