diff options
author | Thomas Nelson Jr (arthurdent3) <tn1381@att.com> | 2018-02-19 14:21:18 -0500 |
---|---|---|
committer | Thomas Nelson Jr (arthurdent3) <tn1381@att.com> | 2018-02-19 14:25:00 -0500 |
commit | ed359e36789eb7647514ec085fd605958f745472 (patch) | |
tree | a8d4f300cc0301ea0b90f094279d40908799f11b | |
parent | 5bc0707087ab2a1e10402bbeaab08430a15ad489 (diff) |
Set up project to work with docker
Update Pom to add docker plugin and add Dockerfile to build docker image.
This is part of the requirement for a functional test case with the
Robot Framework.
Issue-ID: MUSIC-32
Change-Id: I548730b75ef0c73d6e840e4894b7f4460d94deb6
Signed-off-by: Thomas Nelson Jr (arthurdent3) <tn1381@att.com>
-rw-r--r-- | .maven-dockerignore | 1 | ||||
-rw-r--r-- | Dockerfile | 4 | ||||
-rwxr-xr-x | pom.xml | 612 |
3 files changed, 308 insertions, 309 deletions
diff --git a/.maven-dockerignore b/.maven-dockerignore new file mode 100644 index 00000000..07fa8611 --- /dev/null +++ b/.maven-dockerignore @@ -0,0 +1 @@ +target/docker/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..0c06fba5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM busybox:latest +RUN mkdir -p app +COPY maven/ app/ +CMD ["tail", "-f", "/dev/null"] @@ -1,4 +1,4 @@ -<!-- +<!-- ============LICENSE_START========================================== org.onap.music =================================================================== @@ -7,341 +7,335 @@ 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============================================= ==================================================================== --> <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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.onap.music</groupId> - <artifactId>MUSIC</artifactId> - <packaging>war</packaging> - <version>2.4.4</version> - <description> - This is the MUSIC REST interface, packaged as a war file. + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.onap.music</groupId> + <artifactId>MUSIC</artifactId> + <packaging>war</packaging> + <version>2.4.4</version> + <description> + This is the MUSIC REST interface, packaged as a war file. </description> -<parent> - <groupId>org.onap.oparent</groupId> - <artifactId>oparent</artifactId> - <version>0.1.1</version> - <relativePath/> -</parent> - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <jersey1.version>1.9</jersey1.version> - <jersey2.version>2.26</jersey2.version> - <jaxrs.version>2.0.1</jaxrs.version> - <cassandra.version>3.0.0</cassandra.version> - <zookeeper.version>3.4.6</zookeeper.version> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - <!-- ONAP Nexus --> - <nexusproxy>https://nexus.onap.org</nexusproxy> - <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath> - <releaseNexusPath>/content/repositories/releases/</releaseNexusPath> - <stagingNexusPath>/content/repositories/staging/</stagingNexusPath> - <sitePath>/content/sites/site/org/openecomp/music/${project.version}</sitePath> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <jersey1.version>1.9</jersey1.version> + <jersey2.version>2.26</jersey2.version> + <jaxrs.version>2.0.1</jaxrs.version> + <cassandra.version>3.0.0</cassandra.version> + <zookeeper.version>3.4.6</zookeeper.version> - </properties> - <repositories> - <repository> - <id>maven2-repository.java.net</id> - <name>Java.net Repository for Maven</name> - <url>http://download.java.net/maven/2/</url> - <layout>default</layout> - </repository> - <repository> - <id>ecomp-snapshots</id> - <name>Snapshot Repository</name> - <url>${nexusproxy}/${snapshotNexusPath}</url> - </repository> - <repository> - <id>ecomp-staging</id> - <name>Staging Repository</name> - <url>${nexusproxy}/${stagingNexusPath}</url> - </repository> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <!--maven--> + <timestamp>${maven.build.timestamp}</timestamp> + <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format> + <!--docker --> + <docker.tag>${project.version}-${timestamp}</docker.tag> + <docker.latest.tag>${project.version}-latest</docker.latest.tag> + </properties> + + <repositories> <repository> - <id>onap-snapshots</id> - <name>ONAP Snapshot Repository</name> - <url>http://nexus.onap.org/content/repositories/snapshots</url> + <id>maven2-repository.java.net</id> + <name>Java.net Repository for Maven</name> + <url>http://download.java.net/maven/2/</url> + <layout>default</layout> </repository> - </repositories> - <distributionManagement> - <repository> - <id>ecomp-releases</id> - <name>Release Repository</name> - <url>${nexusproxy}/${releaseNexusPath}</url> - </repository> - <snapshotRepository> - <id>ecomp-snapshots</id> - <name>Snapshot Repository</name> - <url>${nexusproxy}/${snapshotNexusPath}</url> - </snapshotRepository> - <!-- added for javadoc --> - <site> - <id>ecomp-site</id> - <url>dav:${nexusproxy}${sitePath}</url> - </site> - </distributionManagement> - <build> - <finalName>MUSIC</finalName> - <sourceDirectory>src/main/java</sourceDirectory> - <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> - <testSourceDirectory>src/test/java</testSourceDirectory> - <testOutputDirectory>target/test-classes</testOutputDirectory> - <defaultGoal>validate</defaultGoal> - <resources> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.sonatype.plugins</groupId> - <artifactId>nexus-staging-maven-plugin</artifactId> - <version>1.6.7</version> - <extensions>true</extensions> - <configuration> - <nexusUrl>${nexusproxy}</nexusUrl> - <stagingProfileId>176c31dfe190a</stagingProfileId> - <serverId>ecomp-staging</serverId> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <version>3.6</version> - <dependencies> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-webdav-jackrabbit</artifactId> - <version>2.10</version> - </dependency> - </dependencies> - </plugin> - <plugin> - <artifactId>maven-eclipse-plugin</artifactId> - <version>2.9</version> - <configuration> - <additionalProjectnatures> - <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> - </additionalProjectnatures> - <additionalBuildcommands> - <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> - </additionalBuildcommands> - <downloadSources>true</downloadSources> - <downloadJavadocs>true</downloadJavadocs> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> - <configuration> - <source>1.7</source> - <target>1.7</target> - </configuration> - </plugin> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <version>2.4</version> - <configuration> - <warSourceDirectory>WebContent</warSourceDirectory> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.4</version> - <executions> - <execution> - <id>make-a-jar</id> - <phase>compile</phase> - <goals> - <goal>jar</goal> - </goals> - <configuration> - <excludes> - <exclude>**/*.xml</exclude> - <exclude>**/*.properties</exclude> - <exclude>**/Sample*</exclude> - </excludes> - </configuration> - </execution> - </executions> - </plugin> + </repositories> + <build> + <finalName>MUSIC</finalName> + <sourceDirectory>src/main/java</sourceDirectory> + <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> + <testSourceDirectory>src/test/java</testSourceDirectory> + <testOutputDirectory>target/test-classes</testOutputDirectory> + <defaultGoal>validate</defaultGoal> + <resources> + <resource> + <directory>src/main/resources</directory> + <filtering>true</filtering> + </resource> + </resources> + <plugins> + <plugin> + <artifactId>maven-eclipse-plugin</artifactId> + <version>2.9</version> + <configuration> + <additionalProjectnatures> + <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> + </additionalProjectnatures> + <additionalBuildcommands> + <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> + </additionalBuildcommands> + <downloadSources>true</downloadSources> + <downloadJavadocs>true</downloadJavadocs> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.5.1</version> + <configuration> + <source>1.7</source> + <target>1.7</target> + </configuration> + </plugin> + <plugin> + <artifactId>maven-war-plugin</artifactId> + <version>2.4</version> + <configuration> + <warSourceDirectory>WebContent</warSourceDirectory> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>2.4</version> + <executions> + <execution> + <id>make-a-jar</id> + <phase>compile</phase> + <goals> + <goal>jar</goal> + </goals> + <configuration> + <excludes> + <exclude>**/*.xml</exclude> + <exclude>**/*.properties</exclude> + <exclude>**/Sample*</exclude> + </excludes> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <version>2.4</version> + <executions> + <execution> + <phase>install</phase> + <goals> + <goal>install-file</goal> + </goals> + <configuration> + <packaging>jar</packaging> + <artifactId>${project.artifactId}</artifactId> + <groupId>${project.groupId}</groupId> + <version>${project.version}</version> + <file>${project.build.directory}/${project.artifactId}.jar</file> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.15.1</version> + <configuration> + <images> + <!-- MUSIC War --> + <image> + <name>music</name> + <alias>docker_music</alias> + <build> + <cleanup>true</cleanup> + <tags> + <tag>${docker.tag}</tag> + <tag>${docker.latest.tag}</tag> + </tags> + <dockerFileDir>${project.basedir}</dockerFileDir> + <assembly> + <descriptorRef>artifact</descriptorRef> + </assembly> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>clean-images</id> + <phase>pre-clean</phase> + <goals> + <goal>remove</goal> + </goals> + <configuration> + <removeAll>true</removeAll> + <image>music</image> + </configuration> + </execution> + <execution> + <id>generate-images</id> + <phase>package</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>push</goal> + </goals> + <configuration> + <image>music</image> + </configuration> + </execution> + </executions> + </plugin> + + </plugins> + </build> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-install-plugin</artifactId> - <version>2.4</version> - <executions> - <execution> - <phase>install</phase> - <goals> - <goal>install-file</goal> - </goals> - <configuration> - <packaging>jar</packaging> - <artifactId>${project.artifactId}</artifactId> - <groupId>${project.groupId}</groupId> - <version>${project.version}</version> - <file>${project.build.directory}/${project.artifactId}.jar</file> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - </build> + <dependencies> - <dependencies> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>1.1.3</version> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>1.1.3</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>1.1.3</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>1.1.3</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> + <dependency> + <groupId>com.datastax.cassandra</groupId> + <artifactId>cassandra-driver-core</artifactId> + <version>${cassandra.version}</version> + </dependency> + <dependency> + <groupId>org.cassandraunit</groupId> + <artifactId>cassandra-unit</artifactId> + <version>3.3.0.1</version> + </dependency> + <dependency> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper</artifactId> + <version>${zookeeper.version}</version> + </dependency> + <dependency> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-client</artifactId> + <version>${jersey1.version}</version> + </dependency> + <dependency> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-server</artifactId> + <version>${jersey1.version}</version> + </dependency> + <dependency> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-json</artifactId> + <version>${jersey1.version}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.4</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-model</artifactId> + <version>3.3.9</version> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-jcs-core</artifactId> + <version>2.2</version> + </dependency> - <dependency> - <groupId>com.datastax.cassandra</groupId> - <artifactId>cassandra-driver-core</artifactId> - <version>${cassandra.version}</version> - </dependency> - <dependency> - <groupId>org.cassandraunit</groupId> - <artifactId>cassandra-unit</artifactId> - <version>3.3.0.1</version> - </dependency> - <dependency> - <groupId>org.apache.zookeeper</groupId> - <artifactId>zookeeper</artifactId> - <version>${zookeeper.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-client</artifactId> - <version>${jersey1.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-server</artifactId> - <version>${jersey1.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-json</artifactId> - <version>${jersey1.version}</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>3.3.9</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-jcs-core</artifactId> - <version>2.2</version> - </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <version>3.0.1</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.11</version> + </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <version>3.0.1</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - <version>1.11</version> - </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + <scope>test</scope> + </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.12</version> - <scope>test</scope> - </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.9.0</version> + </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> - <version>1.9.0</version> - </dependency> + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-jersey-jaxrs</artifactId> + <version>1.5.0</version> + </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jersey-jaxrs</artifactId> - <version>1.5.0</version> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>19.0</version> - </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>19.0</version> + </dependency> - <dependency> - <groupId>com.att.eelf</groupId> - <artifactId>eelf-core</artifactId> - <version>1.0.0</version> - </dependency> - </dependencies> + <dependency> + <groupId>com.att.eelf</groupId> + <artifactId>eelf-core</artifactId> + <version>1.0.0</version> + </dependency> + </dependencies> - <reporting> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.10.3</version> - <configuration> - <author>true</author> - <breakiterator>true</breakiterator> - <version>true</version> - <links> - <link>https://docs.oracle.com/javase/7/docs/api/</link> - <link>https://tomcat.apache.org/tomcat-7.0-doc/jspapi/</link> - <link>http://docs.oracle.com/javaee/7/api/</link> - </links> - </configuration> - </plugin> - </plugins> - </reporting> + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.3</version> + <configuration> + <author>true</author> + <breakiterator>true</breakiterator> + <version>true</version> + <links> + <link>https://docs.oracle.com/javase/7/docs/api/</link> + <link>https://tomcat.apache.org/tomcat-7.0-doc/jspapi/</link> + <link>http://docs.oracle.com/javaee/7/api/</link> + </links> + </configuration> + </plugin> + </plugins> + </reporting> </project> |