Create Docker image in Maven build 30/100030/2
authorGuobiao Mo <guobiaomo@chinamobile.com>
Tue, 7 Jan 2020 01:11:43 +0000 (17:11 -0800)
committerVijay Venkatesh Kumar <vv770d@att.com>
Tue, 7 Jan 2020 16:34:59 +0000 (16:34 +0000)
Create Docker image in Maven build so that Jenkins build can auto build
and push docker image to ONAP docker repo.

Issue-ID: DCAEGEN2-2009

Change-Id: I9c7e5012e44bb300d6d4f6701f8299350d7ff6cb
Signed-off-by: Guobiao Mo <guobiaomo@chinamobile.com>
components/datalake-handler/feeder/Dockerfile [moved from components/datalake-handler/feeder/src/assembly/Dockerfile with 78% similarity]
components/datalake-handler/feeder/pom.xml

@@ -1,4 +1,4 @@
-FROM openjdk:8-jre
+FROM openjdk:8-jre-slim
 
 MAINTAINER Guobiao Mo <guobiaomo@chinamobile.com>
 
@@ -12,7 +12,7 @@ USER datalake
 WORKDIR /home/datalake
 
 #add the fat jar
-COPY target/feeder-1.0.0-SNAPSHOT.jar /home/datalake/
+COPY target/${JAR_FILE} /home/datalake/
 COPY src/assembly/run.sh /home/datalake/
 
 CMD ["sh", "run.sh"]
index 560e1e7..67f62a0 100644 (file)
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
 
        <packaging>jar</packaging>
        <name>DataLake Feeder</name>
 
+       <properties>
+               <swagger.version>2.9.2</swagger.version>
+               <dockerfile-maven.version>1.4.13</dockerfile-maven.version>
+               <docker.image.path>onap/org.onap.dcaegen2.services.datalakefeeder</docker.image.path>
+       </properties>
 
        <dependencies>
 
+               <dependency>
+                       <groupId>org.jdom</groupId>
+                       <artifactId>jdom2</artifactId>
+                       <version>2.0.6</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>com.facebook.presto</groupId>
+                       <artifactId>presto-jdbc</artifactId>
+                       <version>0.229</version>
+               </dependency>
+
                <dependency>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-client</artifactId>
+                       <version>${hadoop.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.mariadb.jdbc</groupId>
                        <artifactId>mariadb-java-client</artifactId>
+                       <version>2.4.1</version>
                </dependency>
 
                <dependency>
                        <groupId>org.json</groupId>
                        <artifactId>json</artifactId>
+                       <version>20190722</version>
                </dependency>
 
                <dependency>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
+                       <version>4.5.10</version>
                </dependency>
 
                <dependency>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>kafka-clients</artifactId>
+                       <version>2.3.1</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
+                       <version>${springboot.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-actuator</artifactId>
+                       <version>${springboot.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-data-jpa</artifactId>
+                       <version>${springboot.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-data-couchbase</artifactId>
+                       <version>${springboot.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-test</artifactId>
+                       <version>${springboot.version}</version>
                        <scope>test</scope>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-configuration-processor</artifactId>
+                       <version>${springboot.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>org.elasticsearch.client</groupId>
                        <artifactId>elasticsearch-rest-high-level-client</artifactId>
+                       <version>${elasticsearchjava.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
+                       <version>2.6</version>
                </dependency>
 
                <dependency>
                        <groupId>com.fasterxml.jackson.dataformat</groupId>
                        <artifactId>jackson-dataformat-yaml</artifactId>
+                       <version>${jackson.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>com.fasterxml.jackson.dataformat</groupId>
                        <artifactId>jackson-dataformat-xml</artifactId>
+                       <version>${jackson.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
+                       <version>${jackson.version}</version>
                </dependency>
 
                <dependency>
                        <groupId>com.google.code.gson</groupId>
                        <artifactId>gson</artifactId>
+                       <version>2.8.2</version>
                </dependency>
 
                <dependency>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
+                       <version>1.18.10</version>
+                       <scope>provided</scope>
                </dependency>
 
                <dependency>
                        <groupId>io.druid</groupId>
                        <artifactId>tranquility-core_2.11</artifactId>
+                       <version>0.8.3</version>
                </dependency>
 
                <dependency>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-core</artifactId>
+                       <version>2.1</version>
                </dependency>
 
 
                <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-validator</artifactId>
-                       <version>6.0.10.Final</version>
+                       <version>6.1.0.Final</version>
                </dependency>
 
                <dependency>
                        <groupId>io.springfox</groupId>
                        <artifactId>springfox-swagger2</artifactId>
-                       <version>2.9.2</version>
+                       <version>${swagger.version}</version>
                        <scope>compile</scope>
                </dependency>
 
                <dependency>
                        <groupId>io.springfox</groupId>
                        <artifactId>springfox-swagger-ui</artifactId>
-                       <version>2.9.2</version>
+                       <version>${swagger.version}</version>
                        <scope>compile</scope>
                </dependency>
 
                <dependency>
                        <groupId>org.mongodb</groupId>
                        <artifactId>mongo-java-driver</artifactId>
+                       <version>${mongojava.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.couchbase.mock</groupId>
                </dependency>
        </dependencies>
 
+
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>com.spotify</groupId>
+                               <artifactId>dockerfile-maven-plugin</artifactId>
+                               <version>${dockerfile-maven.version}</version>
+                               <configuration>
+                                       <!-- repository>docker.io/moguobiao/datalake-feeder-maven</repository-->
+                                       <repository>${onap.nexus.dockerregistry.daily}/${docker.image.path}</repository>
+                                       <tag>${project.version}</tag>
+                                       <dockerfile>Dockerfile</dockerfile>
+                                       <!-- useMavenSettingsForAuth>true</useMavenSettingsForAuth-->
+                                       <buildArgs>
+                                               <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
+                                       </buildArgs>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
 </project>