diff options
Diffstat (limited to 'dbc-client/pom.xml')
-rw-r--r-- | dbc-client/pom.xml | 202 |
1 files changed, 141 insertions, 61 deletions
diff --git a/dbc-client/pom.xml b/dbc-client/pom.xml index 945eeee..7d36523 100644 --- a/dbc-client/pom.xml +++ b/dbc-client/pom.xml @@ -95,71 +95,147 @@ </pluginManagement> </build> <profiles> - <profile> - <id>docker</id> - <properties> - <skipDockerBuild>false</skipDockerBuild> - <skipDockerTag>false</skipDockerTag> - <skipTests>true</skipTests> - </properties> - <build> - <plugins> - <plugin> - <groupId>com.spotify</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>${docker.maven.plugin.version}</version> - <configuration> - <baseImage>alpine:3.8</baseImage> - <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName> - <entryPoint>["./bin/dbc-client", "deploy"]</entryPoint> - <serverId>${onap.nexus.dockerregistry.daily}</serverId> - <skipDockerBuild>false</skipDockerBuild> - <imageTags> - <imageTag>${artifact.version}</imageTag> - <imageTag>latest</imageTag> - </imageTags> - <volumes> - <volume>/opt/app/dbc-client/log</volume> - </volumes> - <forceTags>true</forceTags> - <user>root</user> - <resources> + <profile> + <id>docker</id> + <properties> + <skipDockerBuild>false</skipDockerBuild> + <skipDockerTag>false</skipDockerTag> + <skipTests>true</skipTests> + </properties> + <build> + <!-- Copy files to docker-stage to be included in image --> + <resources> <resource> - <targetPath>/opt/app/dmaapbc/etc</targetPath> - <directory>${multiproject.basedir}/dbc-client</directory> - <include>version.properties</include> + <targetPath>${basedir}/target/docker-stage</targetPath> + <directory>${basedir}/src/main/resources</directory> + <includes> + <include>Dockerfile</include> + </includes> </resource> - <resource> - <targetPath>/opt/app/dbc-client/misc</targetPath> - <directory>${multiproject.basedir}/misc</directory> - <include>cert-client-init.sh</include> + <resource> + <targetPath>${basedir}/target/docker-stage/opt/app/dbc-client/bin</targetPath> + <directory>${basedir}/misc</directory> + <includes> + <include>dbc-client</include> + </includes> </resource> - <resource> - <targetPath>/opt/app/dbc-client/bin</targetPath> - <directory>${multiproject.basedir}/dbc-client/misc</directory> - <include>dbc-client</include> + <resource> + <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/etc</targetPath> + <directory>${basedir}</directory> + <includes> + <include>version.properties</include> + </includes> + </resource> + <resource> + <targetPath>${basedir}/target/docker-stage/opt/app/dbc-client/misc</targetPath> + <directory>${multiproject.basedir}/misc</directory> + <includes> + <include>cert-client-init.sh</include> + </includes> </resource> </resources> - <runs> - <run> apk add --no-cache curl </run> - <run>chmod +x /opt/app/dbc-client/misc/cert-client-init.sh</run> - <run>chmod +x /opt/app/dbc-client/bin/*</run> - <run>mkdir /opt/app/dbc-client/logs</run> - </runs> - <workdir>/opt/app/dbc-client</workdir> - </configuration> - <executions> - <execution> - <id>default</id> - <goals> - <goal>build</goal> - <goal>push</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> + <plugins> + + <!-- Copy jar to docker-stage to be included in image --> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.7</version> + <executions> + <execution> + <id>copy-jar</id> + <phase>package</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${basedir}/target/docker-stage/opt/app/dmaapbc/lib</outputDirectory> + <resources> + <resource> + <directory>${multiproject.basedir}/dbc-client/target</directory> + <includes> + <include>dbc-client.jar</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + + <!-- 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>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.28.0</version> + <configuration> + <verbose>${docker.verbose}</verbose> + <apiVersion>${docker.apiVersion}</apiVersion> + <pullRegistry>${docker.pull.registry}</pullRegistry> + <images> + <image> + <name>${onap.nexus.dockerregistry.daily}/${docker.image}</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> </profile> </profiles> <dependencyManagement> @@ -173,7 +249,7 @@ <jettyVersion>9.4.12.RC2</jettyVersion> <eelf.version>1.0.0</eelf.version> <swagger.version>1.5.19</swagger.version> - <artifact.version>1.0.2</artifact.version> + <artifact.version>1.0.3</artifact.version> <!-- SONAR --> <jacoco.version>0.7.7.201606060606</jacoco.version> <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version> @@ -192,6 +268,10 @@ <!-- for Distribution Management --> <sitePath>/content/sites/site/org/onap/dmaap/dbc-client/${artifact.version}</sitePath> + + <timestamp>${maven.build.timestamp}</timestamp> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> + </properties> <description>Packaging Platform (DMaaP) HTTP Client for Bus Controller Provisioning.</description> </project> |