Add Docker Build and Deploy Maven Implementations for Controller Blueprint MS and their dependencies
Change-Id: I9eee9fff535bcc9ca0b855150892ce53af126d1c
Issue-ID: CCSDK-483
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-parent</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>parent</artifactId>\r
<version>0.3.0-SNAPSHOT</version>\r
<relativePath>../parent</relativePath>\r
</parent>\r
- <artifactId>controllerblueprints-application</artifactId>\r
+ <artifactId>application</artifactId>\r
<name>Controller Blueprints Application</name>\r
<properties>\r
<swagger.directory>${basedir}/src/main/resources/swagger-ui/dist</swagger.directory>\r
<java.version>1.8</java.version>\r
- <docker.registry>xxxxxxxxx:5100</docker.registry>\r
- <assembly.id>distribution</assembly.id>\r
- <build.number>local</build.number>\r
<name.space>org.onap.ccsdk.apps</name.space> <!-- <name.space>${namespace}</name.space> -->\r
- <grm.namespace>org.onap.ccsdk.apps</grm.namespace>\r
- <archetypeVersion>200.0.49</archetypeVersion>\r
<serviceArtifactName>controllerblueprints</serviceArtifactName>\r
-\r
<!-- Sonar -->\r
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>\r
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>\r
<sonar.jacoco.itReportPath>${basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath>\r
<sonar.language>java</sonar.language>\r
<ilib.version>2.0.7</ilib.version>\r
- <!--<skip.assembly>false</skip.assembly>-->\r
- <!--<skip.swagger.generation>false</skip.swagger.generation>-->\r
</properties>\r
\r
<dependencies>\r
-\r
<dependency>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-service</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>service</artifactId>\r
</dependency>\r
<dependency>\r
<groupId>org.springframework.boot</groupId>\r
</includes>\r
<filtering>true</filtering>\r
</resource>\r
- <resource>\r
- <directory>src/main/docker</directory>\r
- <targetPath>${basedir}/target</targetPath>\r
- <includes>\r
- <include>**/*</include>\r
- </includes>\r
- <filtering>true</filtering>\r
- </resource>\r
</resources>\r
<plugins>\r
+ <plugin>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.6</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-dockerfile</id>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals><!-- here the phase you need -->\r
+ <phase>validate</phase>\r
+ <configuration>\r
+ <outputDirectory>${basedir}/target/docker-stage</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>src/main/docker</directory>\r
+ <includes>\r
+ <include>*</include>\r
+ </includes>\r
+ <filtering>true</filtering>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+\r
<plugin>\r
<groupId>org.jacoco</groupId>\r
<artifactId>jacoco-maven-plugin</artifactId>\r
</execution>\r
</executions>\r
</plugin>\r
- <plugin>\r
- <!--build the final artifact for docker deployment -->\r
- <artifactId>maven-assembly-plugin</artifactId>\r
- <version>3.0.0</version>\r
- <configuration>\r
- <!-- <skipAssembly>${skip.assembly}</skipAssembly>-->\r
- <outputDirectory>target</outputDirectory>\r
- <descriptors>\r
- <descriptor>src/assembly/distribution.xml</descriptor>\r
- </descriptors>\r
- <tarLongFileMode>posix</tarLongFileMode>\r
- </configuration>\r
- <executions>\r
- <execution>\r
- <id>${assembly.id}</id>\r
- <phase>package</phase>\r
- <goals>\r
- <goal>single</goal>\r
- </goals>\r
- </execution>\r
- </executions>\r
- </plugin>\r
<plugin>\r
<artifactId>maven-compiler-plugin</artifactId>\r
<version>3.1</version>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+ ~ Copyright © 2017-2018 AT&T Intellectual Property.\r
+ ~\r
+ ~ Licensed under the Apache License, Version 2.0 (the "License");\r
+ ~ you may not use this file except in compliance with the License.\r
+ ~ You may obtain a copy of the License at\r
+ ~\r
+ ~ http://www.apache.org/licenses/LICENSE-2.0\r
+ ~\r
+ ~ Unless required by applicable law or agreed to in writing, software\r
+ ~ distributed under the License is distributed on an "AS IS" BASIS,\r
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ ~ See the License for the specific language governing permissions and\r
+ ~ limitations under the License.\r
+ -->\r
+\r
+<project\r
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"\r
+ xmlns="http://maven.apache.org/POM/4.0.0"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+ <modelVersion>4.0.0</modelVersion>\r
+ <parent>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>parent</artifactId>\r
+ <version>0.3.0-SNAPSHOT</version>\r
+ <relativePath>../parent</relativePath>\r
+ </parent>\r
+ <artifactId>distribution</artifactId>\r
+ <packaging>pom</packaging>\r
+ <name>Controller Blueprints Distribution</name>\r
+ <properties>\r
+ <assembly.id>maven</assembly.id>\r
+ <name.space>org.onap.ccsdk.apps</name.space> <!-- <name.space>${namespace}</name.space> -->\r
+ <serviceArtifactName>controllerblueprints</serviceArtifactName>\r
+ <image.name>onap/ccsdk-controllerblueprints</image.name>\r
+ </properties>\r
+\r
+ <dependencies>\r
+ <dependency>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>application</artifactId>\r
+ </dependency>\r
+ </dependencies>\r
+ <build>\r
+ <plugins>\r
+ <plugin>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.6</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-dockerfile</id>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals><!-- here the phase you need -->\r
+ <phase>validate</phase>\r
+ <configuration>\r
+ <outputDirectory>${basedir}/target/docker-stage</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>src/main/docker</directory>\r
+ <includes>\r
+ <include>*</include>\r
+ </includes>\r
+ <filtering>true</filtering>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-antrun-plugin</artifactId>\r
+ <executions>\r
+ <execution>\r
+ <id>ant-test</id>\r
+ <phase>package</phase>\r
+ <configuration>\r
+ <tasks>\r
+ <fixcrlf srcdir="${basedir}" eol="unix"\r
+ includes="**/*.sh, **/*.source"/>\r
+ </tasks>\r
+ </configuration>\r
+ <goals>\r
+ <goal>run</goal>\r
+ </goals>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ <plugin>\r
+ <!--build the final artifact for docker deployment -->\r
+ <artifactId>maven-assembly-plugin</artifactId>\r
+ <version>3.0.0</version>\r
+ <configuration>\r
+ <!-- <skipAssembly>${skip.assembly}</skipAssembly>-->\r
+ <outputDirectory>${basedir}/target/docker-stage</outputDirectory>\r
+ <descriptors>\r
+ <descriptor>src/main/docker/distribution.xml</descriptor>\r
+ </descriptors>\r
+ <tarLongFileMode>posix</tarLongFileMode>\r
+ </configuration>\r
+ <executions>\r
+ <execution>\r
+ <id>${assembly.id}</id>\r
+ <phase>package</phase>\r
+ <goals>\r
+ <goal>single</goal>\r
+ </goals>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ <plugin>\r
+ <groupId>org.codehaus.groovy.maven</groupId>\r
+ <artifactId>gmaven-plugin</artifactId>\r
+ <version>1.0</version>\r
+ <executions>\r
+ <execution>\r
+ <phase>validate</phase>\r
+ <goals>\r
+ <goal>execute</goal>\r
+ </goals>\r
+ <configuration>\r
+ <source>\r
+ println project.properties['ccsdk.project.version'];\r
+ def versionArray;\r
+ if (project.properties['ccsdk.project.version'] != null ) {\r
+ versionArray = project.properties['ccsdk.project.version'].split('\\.');\r
+ }\r
+\r
+ if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT"))\r
+ {\r
+ project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";\r
+ } else {\r
+ project.properties['project.docker.latesttag.version']=versionArray[0]+'.' + versionArray[1]+"-STAGING-latest";\r
+ }\r
+\r
+ println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];\r
+ </source>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ <plugin>\r
+ <groupId>io.fabric8</groupId>\r
+ <artifactId>docker-maven-plugin</artifactId>\r
+ <version>0.26.1</version>\r
+ <inherited>false</inherited>\r
+ <configuration>\r
+ <images>\r
+ <image>\r
+ <name>${image.name}</name>\r
+ <build>\r
+ <cleanup>try</cleanup>\r
+ <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>\r
+ <tags>\r
+ <tag>${project.version}</tag>\r
+ <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>\r
+ <tag>${project.docker.latesttag.version}</tag>\r
+ </tags>\r
+ </build>\r
+ </image>\r
+ </images>\r
+ <verbose>true</verbose>\r
+ </configuration>\r
+ <executions>\r
+ <!--<execution>-->\r
+ <!--<id>build-images</id>-->\r
+ <!--<phase>package</phase>-->\r
+ <!--<goals>-->\r
+ <!--<goal>build</goal>-->\r
+ <!--</goals>-->\r
+ <!--</execution>-->\r
+ <execution>\r
+ <id>push-images</id>\r
+ <phase>deploy</phase>\r
+ <goals>\r
+ <goal>build</goal>\r
+ <goal>push</goal>\r
+ </goals>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+</project>\r
+\r
controller-blueprints:\r
depends_on:\r
- db\r
- image: onap/controllerblueprints:1.0.0\r
+ image: onap/ccsdk-controllerblueprints:latest\r
container_name: cb-rest\r
ports:\r
- "8080:8080"\r
FROM anapsix/alpine-java:8_jdk
+ENV HTTP_PROXY ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
RUN apk add --no-cache curl
COPY startService.sh /startService.sh
</dependencySets>
<fileSets>
<fileSet>
- <directory>${project.basedir}/src/main/resources</directory>
+ <directory>${project.basedir}/../application/src/main/resources</directory>
<includes>
<include>application.properties</include>
</includes>
- <outputDirectory>/</outputDirectory>
+ <outputDirectory>./</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
<fileSet>
<include>Dockerfile</include>
<include>startService.sh</include>
</includes>
- <outputDirectory>/</outputDirectory>
+ <outputDirectory>./</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
<fileSet>
- <directory>${project.basedir}/src/main/groovy</directory>
+ <directory>${project.basedir}/../application/src/main/groovy</directory>
<outputDirectory>src/main/groovy</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
<fileSet>
- <directory>${project.basedir}/src/main/resources</directory>
+ <directory>${project.basedir}/../application/src/main/resources</directory>
<outputDirectory>src/main/resources</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
<fileSet>
- <directory>${project.basedir}/etc</directory>
- <outputDirectory>/etc</outputDirectory>
+ <directory>${project.basedir}/../application/etc</directory>
+ <outputDirectory>./etc</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
<fileSet>
- <directory>${project.basedir}/load</directory>
+ <directory>${project.basedir}/../application/load</directory>
<outputDirectory>load</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-modules</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>modules</artifactId>\r
<version>0.3.0-SNAPSHOT</version>\r
</parent>\r
- <artifactId>controllerblueprints-core</artifactId>\r
+ <artifactId>core</artifactId>\r
<name>Controller Blueprints Core</name>\r
\r
<dependencies>\r
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-parent</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>parent</artifactId>\r
<version>0.3.0-SNAPSHOT</version>\r
<relativePath>../parent</relativePath>\r
</parent>\r
- <artifactId>controllerblueprints-modules</artifactId>\r
+ <artifactId>modules</artifactId>\r
<name>Controller Blueprints Modules</name>\r
<packaging>pom</packaging>\r
\r
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-modules</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>modules</artifactId>\r
<version>0.3.0-SNAPSHOT</version>\r
</parent>\r
- <artifactId>controllerblueprints-resource-dict</artifactId>\r
+ <artifactId>resource-dict</artifactId>\r
<name>Controller Blueprints Resource Dictionary</name>\r
\r
<dependencies>\r
<dependency>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-core</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>core</artifactId>\r
</dependency>\r
</dependencies>\r
\r
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-modules</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>modules</artifactId>\r
<version>0.3.0-SNAPSHOT</version>\r
</parent>\r
- <artifactId>controllerblueprints-service</artifactId>\r
+ <artifactId>service</artifactId>\r
<name>Controller Blueprints Service</name>\r
\r
<properties>\r
\r
<dependencies>\r
<dependency>\r
- <groupId>org.onap.ccsdk.apps</groupId>\r
- <artifactId>controllerblueprints-resource-dict</artifactId>\r
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>\r
+ <artifactId>resource-dict</artifactId>\r
</dependency>\r
<dependency>\r
<groupId>org.apache.velocity</groupId>\r
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.onap.ccsdk.apps</groupId>
- <artifactId>controllerblueprints-parent</artifactId>
+ <parent>
+ <groupId>org.onap.ccsdk.apps</groupId>
+ <artifactId>controllerblueprints</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </parent>
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
+ <artifactId>parent</artifactId>
<name>Controller Blueprints Parent</name>
- <version>0.3.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <maven.compiler.target>1.8</maven.compiler.target>
- <maven.compiler.source>1.8</maven.compiler.source>
- <java.version>1.8</java.version>
<spring.boot.version>2.0.4.RELEASE</spring.boot.version>
+ <spring.version>5.0.8.RELEASE</spring.version>
<kotlin.version>1.2.60</kotlin.version>
<eelf.version>1.0.0</eelf.version>
<springfox.swagger2.version>2.9.2</springfox.swagger2.version>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
+
+ <!-- Application Components -->
<dependency>
- <groupId>org.onap.ccsdk.apps</groupId>
- <artifactId>controllerblueprints-core</artifactId>
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
+ <artifactId>core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.onap.ccsdk.apps</groupId>
- <artifactId>controllerblueprints-service</artifactId>
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
+ <artifactId>service</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.onap.ccsdk.apps</groupId>
- <artifactId>controllerblueprints-resource-dict</artifactId>
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
+ <artifactId>application</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
+ <artifactId>resource-dict</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.2.1</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
- <version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.6</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<properties>
<service.name>ControllerBlueprints</service.name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+ <build.number>${maven.build.timestamp}</build.number>
+ <java.version>1.8</java.version>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <ccsdk.project.version>${project.version}</ccsdk.project.version>
</properties>
<packaging>pom</packaging>
<modules>
<module>parent</module>
<module>modules</module>
<module>application</module>
+ <module>distribution</module>
</modules>
</project>