diff options
-rw-r--r-- | aai-schema-service/pom.xml | 31 | ||||
-rw-r--r-- | aai-schema-service/src/main/docker/Dockerfile | 23 | ||||
-rw-r--r-- | aai-schema-service/src/main/docker/aai.sh | 36 |
3 files changed, 56 insertions, 34 deletions
diff --git a/aai-schema-service/pom.xml b/aai-schema-service/pom.xml index 41151c8..874d6eb 100644 --- a/aai-schema-service/pom.xml +++ b/aai-schema-service/pom.xml @@ -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 --> @@ -75,6 +75,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> @@ -108,6 +110,33 @@ <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> <version>${docker.fabric.version}</version> diff --git a/aai-schema-service/src/main/docker/Dockerfile b/aai-schema-service/src/main/docker/Dockerfile index f15288f..6f5efd4 100644 --- a/aai-schema-service/src/main/docker/Dockerfile +++ b/aai-schema-service/src/main/docker/Dockerfile @@ -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"] diff --git a/aai-schema-service/src/main/docker/aai.sh b/aai-schema-service/src/main/docker/aai.sh index 0549935..49c2906 100644 --- a/aai-schema-service/src/main/docker/aai.sh +++ b/aai-schema-service/src/main/docker/aai.sh @@ -20,25 +20,23 @@ # 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 |