diff options
Diffstat (limited to 'datarouter-subscriber')
-rwxr-xr-x | datarouter-subscriber/pom.xml | 121 | ||||
-rw-r--r-- | datarouter-subscriber/src/main/resources/docker/Dockerfile | 31 |
2 files changed, 113 insertions, 39 deletions
diff --git a/datarouter-subscriber/pom.xml b/datarouter-subscriber/pom.xml index d89bcb9a..1f58c42c 100755 --- a/datarouter-subscriber/pom.xml +++ b/datarouter-subscriber/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.dmaap.datarouter</groupId> <artifactId>parent</artifactId> - <version>2.0.1-SNAPSHOT</version> + <version>2.0.2-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <artifactId>datarouter-subscriber</artifactId> @@ -40,6 +40,9 @@ <docker.location>${basedir}/target/${artifactId}</docker.location> <datarouter.prov.image.name>onap/dmaap/datarouter-subscriber</datarouter.prov.image.name> + + <timestamp>${maven.build.timestamp}</timestamp> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> </properties> <dependencies> <dependency> @@ -163,40 +166,78 @@ </properties> <build> <plugins> + + <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging --> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + <executions> + <execution> + <phase>validate</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <properties> + <ver>${project.version}</ver> + <timestamp>${maven.build.timestamp}</timestamp> + </properties> + <source> + 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']; + </source> + </configuration> + </execution> + </executions> + </plugin> <plugin> - <groupId>com.spotify</groupId> + <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> - <version>${docker.maven.plugin.version}</version> + <version>0.28.0</version> <configuration> - <imageName>${onap.nexus.dockerregistry.daily}/${datarouter.prov.image.name}</imageName> - <baseImage>java:8</baseImage> - <serverId>${onap.nexus.dockerregistry.daily}</serverId> - <skipDockerBuild>false</skipDockerBuild> - <imageTags> - <imageTag>${project.version}</imageTag> - <imageTag>latest</imageTag> - </imageTags> - <forceTags>true</forceTags> - <entryPoint>["/startup.sh", "start"]</entryPoint> - <resources> - <resource> - <targetPath>/opt</targetPath> - <directory>${project.build.directory}/opt</directory> - </resource> - <resource> - <targetPath>/</targetPath> - <directory>${docker.location}</directory> - <include>startup.sh</include> - </resource> - </resources> - <runs> - <run>chmod 0700 /startup.sh</run> - </runs> - <exposes> - <expose>8080</expose> - <expose>8443</expose> - </exposes> + <verbose>${docker.verbose}</verbose> + <apiVersion>${docker.apiVersion}</apiVersion> + <pullRegistry>${docker.pull.registry}</pullRegistry> + <pushRegistry>${docker.push.registry}</pushRegistry> + <images> + <image> + <name>${datarouter.prov.image.name}</name> + <build> + <cleanup>try</cleanup> + <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir> + <dockerFile>Dockerfile</dockerFile> + <tags> + <tag>${dockertag1}</tag> + <tag>${dockertag2}</tag> + </tags> + </build> + </image> + </images> </configuration> + <executions> + <execution> + <id>generate-images</id> + <phase>install</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>push</goal> + </goals> + </execution> + </executions> </plugin> </plugins> </build> @@ -242,7 +283,7 @@ <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> - <outputDirectory>${basedir}/target/opt/app/subscriber/lib</outputDirectory> + <outputDirectory>${basedir}/target/docker-stage/opt/app/subscriber/lib</outputDirectory> <archive> <manifest> <addClasspath>true</addClasspath> @@ -277,12 +318,12 @@ <executions> <execution> <id>copy-docker-file</id> - <phase>package</phase> + <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> - <outputDirectory>${docker.location}</outputDirectory> + <outputDirectory>${basedir}/target/docker-stage</outputDirectory> <overwrite>true</overwrite> <resources> <resource> @@ -296,18 +337,20 @@ </configuration> </execution> <execution> - <id>copy-resources-1</id> + <id>copy-startup-script</id> <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> - <outputDirectory>${basedir}/target/opt/app/subscriber/lib</outputDirectory> + <outputDirectory>${basedir}/target/docker-stage/opt</outputDirectory> + <overwrite>true</overwrite> <resources> <resource> - <directory>${project.basedir}/src/main/resources</directory> + <directory>${basedir}/src/main/resources/docker</directory> + <filtering>true</filtering> <includes> - <include>**/*.jar</include> + <include>startup.sh</include> </includes> </resource> </resources> @@ -320,7 +363,7 @@ <goal>copy-resources</goal> </goals> <configuration> - <outputDirectory>${basedir}/target/opt/app/subscriber/etc</outputDirectory> + <outputDirectory>${basedir}/target/docker-stage/opt/app/subscriber/etc</outputDirectory> <resources> <resource> <directory>${basedir}/src/main/resources</directory> diff --git a/datarouter-subscriber/src/main/resources/docker/Dockerfile b/datarouter-subscriber/src/main/resources/docker/Dockerfile new file mode 100644 index 00000000..fe6d2fc3 --- /dev/null +++ b/datarouter-subscriber/src/main/resources/docker/Dockerfile @@ -0,0 +1,31 @@ +######### +# ============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 + +EXPOSE 8080 8443 + +WORKDIR /opt +RUN chmod 0700 startup.sh +ENTRYPOINT ["sh", "startup.sh"] |