| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ============LICENSE_START========================================== |
| ONAP : APPC |
| =================================================================== |
| Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. |
| =================================================================== |
| |
| Unless otherwise specified, all software contained herein is licensed |
| under the Apache License, Version 2.0 (the License); |
| you may not use this software 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============================================ |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| |
| <parent> |
| <groupId>org.onap.appc.deployment</groupId> |
| <artifactId>appc-docker-project</artifactId> |
| <version>1.7.1-SNAPSHOT</version> |
| </parent> |
| |
| <modelVersion>4.0.0</modelVersion> |
| <packaging>pom</packaging> |
| <groupId>org.onap.appc.deployment</groupId> |
| <artifactId>installation-cdt</artifactId> |
| <version>1.7.1-SNAPSHOT</version> |
| |
| <name>Installation - CDT Docker</name> |
| <description>Creates APPC CDT Docker container</description> |
| |
| <properties> |
| <image.name>onap/appc-cdt-image</image.name> |
| <appc.release.version>1.7.0</appc.release.version> |
| <appc.snapshot.version>1.7.1-SNAPSHOT</appc.snapshot.version> |
| <!--This version will be over-ridden by jenkins |
| injecting the version.properties variable file during docker build--> |
| <appc.docker.staging.version>1.0.0</appc.docker.staging.version> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| </properties> |
| |
| |
| <build> |
| <plugins> |
| |
| <!-- This is to add any extra scripts, sql dump files, properties files APPC may need even after inheriting from the sdnc base image --> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <id>copy-dockerfile</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals><!-- here the phase you need --> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/docker</directory> |
| <includes> |
| <include>Dockerfile</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-scripts</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/scripts</directory> |
| <includes> |
| <include>*.sh</include> |
| </includes> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <includes> |
| <include>nginx.conf</include> |
| </includes> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-certs</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage/cert</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/resources/cert</directory> |
| <includes> |
| <include>*.pem</include> |
| </includes> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>exec-maven-plugin</artifactId> |
| <groupId>org.codehaus.mojo</groupId> |
| <version>1.5.0</version> |
| <executions> |
| <execution> |
| <id>Get features</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>bash</executable> |
| <environmentVariables> |
| <APPC_VERSION>${appc.version}</APPC_VERSION> |
| <APPC_OAM_VERSION>${project.version}</APPC_OAM_VERSION> |
| <SDNC_OAM_VERSION>${project.version}</SDNC_OAM_VERSION> |
| </environmentVariables> |
| <arguments> |
| <argument>${basedir}/src/main/scripts/installZips.sh</argument> |
| <argument>${basedir}/target/docker-stage</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <build> |
| <plugins> |
| <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 project.properties['ver']; |
| def versionArray; |
| if ( project.properties['ver'] != null ) { |
| versionArray = project.properties['ver'].split('\\.'); |
| } |
| if ( project.properties['ver'].endsWith("-SNAPSHOT") ) { |
| project.properties['dockertag1']=project.properties['ver'] + "-latest"; |
| project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp']; |
| project.properties['appc.version']=project.properties['appc.snapshot.version']; |
| } else { |
| project.properties['dockertag1']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; |
| project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp']; |
| project.properties['appc.version']=project.properties['appc.release.version']; |
| } |
| 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> |
| <inherited>false</inherited> |
| <configuration> |
| <images> |
| <image> |
| <name>${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>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| |
| <execution> |
| <id>push-images</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>build</goal> |
| <goal>push</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- This is to add any extra scripts, sql dump files, properties files |
| APPC may need even after inheriting from the sdnc base image --> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <id>copy-dockerfile</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals><!-- here the phase you need --> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/docker</directory> |
| <includes> |
| <include>Dockerfile</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-scripts</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/scripts</directory> |
| <includes> |
| <include>*.sh</include> |
| </includes> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>exec-maven-plugin</artifactId> |
| <groupId>org.codehaus.mojo</groupId> |
| <version>1.5.0</version> |
| <executions> |
| <execution> |
| <id>Get features</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>bash</executable> |
| <environmentVariables> |
| <APPC_VERSION>${appc.version}</APPC_VERSION> |
| <APPC_OAM_VERSION>${project.version}</APPC_OAM_VERSION> |
| <SDNC_OAM_VERSION>${project.version}</SDNC_OAM_VERSION> |
| </environmentVariables> |
| <arguments> |
| <argument>${basedir}/src/main/scripts/installZips.sh</argument> |
| <argument>${basedir}/target/docker-stage</argument> |
| <argument>${basedir}/target/docker-stage</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| |
| |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </profile> |
| </profiles> |
| |
| <organization> |
| <name>ONAP</name> |
| </organization> |
| |
| </project> |