Reorganize docker build 23/58923/8
authorPiotr Jaszczyk <piotr.jaszczyk@nokia.com>
Fri, 3 Aug 2018 11:05:15 +0000 (13:05 +0200)
committerPiotr Jaszczyk <piotr.jaszczyk@nokia.com>
Mon, 13 Aug 2018 13:19:36 +0000 (15:19 +0200)
* Docker is built in "docker" profile
* It is turned on by default
* "mvn install" builds and tags docker image
* "mvn deploy" pushes the image to the registry
* "mvn -DskipDocker ..." skips docker build
* Temporarily use OpenJDK 8 instead of 10 - it require us to
  specify additional JVM options for use inside containers on production
  hence addition of run-java.sh

Change-Id: Ifa67df4ed7de9f3d300d6f6de999a890486dea24
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Issue-ID: DCAEGEN2-653
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
hv-collector-dcae-app-simulator/Dockerfile
hv-collector-main/Dockerfile
hv-collector-xnf-simulator/Dockerfile
pom.xml

index 55bf645..955cc8e 100644 (file)
@@ -1,4 +1,4 @@
-FROM openjdk:10-jre-slim
+FROM docker.io/openjdk:8-jre-slim
 
 LABEL copyright="Copyright (C) 2018 NOKIA"
 LABEL license.name="The Apache Software License, Version 2.0"
@@ -10,7 +10,11 @@ RUN apt-get update \
         && apt-get clean
 
 WORKDIR /opt/ves-hv-dcae-app-simulator
-ENTRYPOINT ["java", "-cp", "*:", "org.onap.dcae.collectors.veshv.simulators.dcaeapp.MainKt"]
+ENTRYPOINT ["./run-java.sh", "run"]
+COPY target/docker-extra/run-java/run-java.sh ./
+
+ENV JAVA_MAIN_CLASS=org.onap.dcae.collectors.veshv.simulators.dcaeapp.MainKt
+
 COPY target/libs/external/* ./
 COPY target/libs/internal/* ./
 COPY target/hv-collector-dcae-app-simulator-*.jar ./
index 1e5f55f..8216ac4 100644 (file)
@@ -1,4 +1,4 @@
-FROM openjdk:10-jre-slim
+FROM docker.io/openjdk:8-jre-slim
 
 LABEL copyright="Copyright (C) 2018 NOKIA"
 LABEL license.name="The Apache Software License, Version 2.0"
@@ -11,7 +11,11 @@ RUN apt-get update \
         && apt-get clean
 
 WORKDIR /opt/ves-hv-collector
-ENTRYPOINT ["java", "-cp", "*:", "org.onap.dcae.collectors.veshv.main.MainKt"]
+ENTRYPOINT ["./run-java.sh", "run"]
+COPY target/docker-extra/run-java/run-java.sh ./
+
+ENV JAVA_MAIN_CLASS=org.onap.dcae.collectors.veshv.main.MainKt
+
 COPY target/libs/external/* ./
 COPY target/libs/internal/* ./
 COPY target/hv-collector-main-*.jar ./
index e48a80e..5340645 100644 (file)
@@ -1,4 +1,4 @@
-FROM openjdk:10-jre-slim
+FROM docker.io/openjdk:8-jre-slim
 
 LABEL copyright="Copyright (C) 2018 NOKIA"
 LABEL license.name="The Apache Software License, Version 2.0"
@@ -10,8 +10,11 @@ RUN apt-get update \
         && apt-get clean
 
 WORKDIR /opt/ves-hv-client-simulator
-ENTRYPOINT ["java", "-cp", "*:", "org.onap.dcae.collectors.veshv.simulators.xnf.MainKt"]
+ENTRYPOINT ["./run-java.sh", "run"]
+COPY target/docker-extra/run-java/run-java.sh ./
+
+ENV JAVA_MAIN_CLASS=org.onap.dcae.collectors.veshv.simulators.xnf.MainKt
+
 COPY target/libs/external/* ./
 COPY target/libs/internal/* ./
 COPY target/hv-collector-xnf-simulator-*.jar ./
-
diff --git a/pom.xml b/pom.xml
index 6bbcef3..7504d4f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 
         <!-- Docker -->
         <skipDocker>false</skipDocker>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
         <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
         <docker-image.namespace>onap</docker-image.namespace>
         <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
         <docker.http_proxy></docker.http_proxy>
-        <docker.https_proxy></docker.https_proxy>
     </properties>
 
 
                             <executions>
                                 <execution>
                                     <id>docker-build-image</id>
-                                    <phase>deploy</phase>
+                                    <phase>package</phase>
                                     <goals>
                                         <goal>build</goal>
                                     </goals>
                                 <images>
                                     <image>
                                         <alias>${project.artifactId}</alias>
-                                        <name>${docker-image.registry}/${docker-image.namespace}/${docker-image.name}
+                                        <name>${docker-image.namespace}/${docker-image.name}
                                         </name>
-                                        <tags>
-                                            <tag>${project.version}-SNAPSHOT-${maven.build.timestamp}Z</tag>
-                                            <tag>${project.version}</tag>
-                                            <tag>latest</tag>
-                                        </tags>
+                                        <registry>${docker-image.registry}</registry>
                                         <build>
                                             <!--
                                             <args>
                                                 <http_proxy>${docker.http_proxy}</http_proxy>
-                                                <https_proxy>${docker.https_proxy}</https_proxy>
+                                                <https_proxy>${docker.http_proxy}</https_proxy>
                                             </args>
                                             -->
                                             <dockerFileDir>${project.basedir}</dockerFileDir>
+                                            <tags>
+                                                <tag>${project.version}-SNAPSHOT-${maven.build.timestamp}Z</tag>
+                                                <tag>${project.version}</tag>
+                                                <tag>latest</tag>
+                                            </tags>
                                         </build>
                                     </image>
                                 </images>
                             </configuration>
+                            <dependencies>
+                                <dependency>
+                                    <groupId>io.fabric8</groupId>
+                                    <artifactId>run-java-sh</artifactId>
+                                    <version>1.2.2</version>
+                                </dependency>
+                            </dependencies>
                         </plugin>
                     </plugins>
                 </pluginManagement>