Fixed Dockerfile to reflect new base image name 96/92796/2
authorDmitry Puzikov <dmitry.puzikov@tieto.com>
Mon, 15 Apr 2019 09:57:14 +0000 (11:57 +0200)
committerDmitry Puzikov <dmitry.puzikov@tieto.com>
Tue, 20 Aug 2019 09:13:18 +0000 (11:13 +0200)
Dockerfile has been changed to reflect new
aai-common image naming scheme.

Added maven parameter for aai-common image version.

Change-Id: I6d1a332ca049676059ccd29031aa7cfb4a95bb5c
Issue-ID: INT-803
Signed-off-by: Dmitry Puzikov <dmitry.puzikov@tieto.com>
aai-schema-service/pom.xml
aai-schema-service/src/main/docker/Dockerfile
aai-schema-service/src/main/docker/aai.sh

index f8d6ef2..5424e36 100644 (file)
@@ -61,7 +61,7 @@
         <eclipse.persistence.version>2.6.2</eclipse.persistence.version>
         <!-- End of Application Dependencies -->
 
-        <docker.fabric.version>0.23.0</docker.fabric.version>
+        <docker.fabric.version>0.28.0</docker.fabric.version>
         <!-- Default docker registry that maven fabric plugin will try to pull from -->
         <docker.registry>docker.io</docker.registry>
         <!-- Specifying the docker push registry where the image should be pushed -->
@@ -76,6 +76,8 @@
         <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/
         </aai.build.directory>
         <aai.docker.namespace>onap</aai.docker.namespace>
+        <aai.base.image>alpine</aai.base.image>
+        <aai.base.image.version>1.6.0</aai.base.image.version>
 
         <maven.skip.tests>true</maven.skip.tests>
 
             <id>docker</id>
             <build>
                 <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.groovy.maven</groupId>
+                        <artifactId>gmaven-plugin</artifactId>
+                        <version>1.0</version>
+                        <executions>
+                            <execution>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    <source>
+                                        def userAaiBaseImage = session.userProperties['aai.base.image'];
+                                        def userAaiCommonVersion = session.userProperties['aai.base.image.version'];
+                                        if (userAaiCommonVersion != null) {
+                                            project.properties['aai.base.image.version'] = userAaiCommonVersion;
+                                        }
+                                        if (userAaiBaseImage != null) {
+                                            project.properties['aai.base.image'] = userAaiBaseImage;
+                                        }
+                                        log.info 'Base image flavour: ' + project.properties['aai.base.image'];
+                                        log.info 'Base image version: ' + project.properties['aai.base.image.version'];
+                                    </source>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
                     <plugin>
                         <groupId>io.fabric8</groupId>
                         <artifactId>docker-maven-plugin</artifactId>
index f15288f..6f5efd4 100644 (file)
@@ -1,17 +1,4 @@
-FROM aaionap/aai-common:1.3.0
-
-
-# Add the proper files into the docker image from your build
-WORKDIR /opt/app/aai-schema-service
-
-# Expose the ports for outside linux to use
-# 8447 is the important one to be used
-EXPOSE 8447
-
-
-HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8452 || exit 1
-
-ENTRYPOINT ["/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
+FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@
 
 RUN  mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SCHEMA-SERVICE
 
@@ -19,6 +6,14 @@ VOLUME /opt/aai/logroot/AAI-SS
 VOLUME /tmp
 VOLUME /opt/tools
 
+HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8452 || exit 1
+
+# Add the proper files into the docker image from your build
+WORKDIR /opt/app/aai-schema-service
 COPY /maven/aai-schema-service/ .
 
 ENV AAI_BUILD_VERSION @aai.docker.version@
+# Expose the ports for outside linux to use
+# 8452 is the important one to be used
+EXPOSE 8452
+ENTRYPOINT ["/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
index 0549935..49c2906 100644 (file)
 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 
-PROJECT_HOME=/opt/app/aai-schema-service
-export PROJECT_HOME
-
-JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
-export JAVA_HOME
-
-AAIENV=dev
-export AAIENV
-
-PATH=/usr/lib/jvm/java-8-openjdk-amd64:$PATH
-
-PROJECT_OWNER=aaiadmin
-PROJECT_GROUP=aaiadmin
-PROJECT_UNIXHOMEROOT=/opt/aaihome
-export PROJECT_OWNER PROJECT_GROUP PROJECT_UNIXHOMEROOT
-umask 0022
-
+# set system related env
+# and make script compatible both with ubuntu and alpine base images
+# jre-alpine image has $JAVA_HOME set and added to $PATH
+# ubuntu image requires to set $JAVA_HOME and add java to $PATH manually
+if [ -z $JAVA_HOME ] && [ $(grep -i "ID=ubuntu" /etc/os-release | wc -w) -eq 1 ] ; then
+    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-`dpkg --print-architecture | awk -F- '{ print $NF }'`
+    export PATH=$PATH:${JAVA_HOME}/jre/bin:${JAVA_HOME}/bin
+fi
+
+export PROJECT_HOME=/opt/app/aai-schema-service
+
+export AAIENV=dev
+
+export PROJECT_OWNER=aaiadmin
+export PROJECT_GROUP=aaiadmin
+export PROJECT_UNIXHOMEROOT=/opt/aaihome
 export idns_api_url=
 export idnscred=
 export idnstenant=
-
-
+umask 0022