diff options
author | sandovalfr <frank.sandoval@oamtechnologies.com> | 2019-03-04 09:31:59 -0500 |
---|---|---|
committer | sandovalfr <frank.sandoval@oamtechnologies.com> | 2019-03-21 10:57:48 -0600 |
commit | efad46124485f1572765fad05284d8a070fb9277 (patch) | |
tree | 39f8e035b70244daf1c943674a6158e337e85d99 /datarouter-subscriber/pom.xml | |
parent | 4f1d5968c50f43d7443d4ad7fcfb49d019fd5cde (diff) |
small, multi-platform docker images
Issue-ID: INT-907
Issue-ID: INT-908
Issue-ID: INT-909
Change-Id: I2df861f0098588ec9b394b501af2de6f7559c213
Signed-off-by: sandovalfr <frank.sandoval@oamtechnologies.com>
Diffstat (limited to 'datarouter-subscriber/pom.xml')
-rwxr-xr-x | datarouter-subscriber/pom.xml | 121 |
1 files changed, 82 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> |