From ddb39820395d7fcb8a898eff9e08bc725680e3c2 Mon Sep 17 00:00:00 2001 From: Jegadeesh Babu Date: Tue, 14 May 2019 13:42:46 +0530 Subject: [PATCH] Updated pom and docker to generate a stable image Modified files to produce stable image Issue-ID: DCAEGEN2-1482 Change-Id: I3aeff6dd2fd208e51b9d6d52c6518d004bbecef8 Signed-off-by: Jegadeesh Babu --- dcae-analytics/dcae-analytics-tca-web/Dockerfile | 26 ++++++++---- dcae-analytics/dcae-analytics-tca-web/pom.xml | 53 +++++++++++++++--------- 2 files changed, 51 insertions(+), 28 deletions(-) diff --git a/dcae-analytics/dcae-analytics-tca-web/Dockerfile b/dcae-analytics/dcae-analytics-tca-web/Dockerfile index 0e2a6e8..c573ae9 100644 --- a/dcae-analytics/dcae-analytics-tca-web/Dockerfile +++ b/dcae-analytics/dcae-analytics-tca-web/Dockerfile @@ -7,13 +7,21 @@ FROM openjdk:8-jre-alpine MAINTAINER Rajiv Singla -VOLUME /tmp -ADD logback.xml logback.xml -EXPOSE 9091 +ARG PROJECT_BUILD_DIR_NAME +ARG FINAL_JAR +ARG DEPENDENCIES_DIR +ARG DOCKER_ARTIFACT_DIR -ENTRYPOINT ["java", \ - "-Djava.security.egd=file:/dev/./urandom", \ - "-Dlogging.config=logback.xml", \ - "-Dlogging.file=logs/${project.artifactId}.log", \ - "-Dspring.profiles.active=dev", \ - "-jar", "${project.build.finalName}.jar"] +#Add a new user and group to allow container to be run as non-root +RUN addgroup -S tca-gen2 && adduser -S -G tca-gen2 tca-gen2 + +#Copy dependencies and executable jar +WORKDIR ${DOCKER_ARTIFACT_DIR} +COPY ${PROJECT_BUILD_DIR_NAME}/${FINAL_JAR} . +#Overcome Docker limitation to put ARG inside ENTRYPOINT +RUN ln -s ${FINAL_JAR} tca-gen2.jar + +EXPOSE 8100 + +USER tca-gen2:tca-gen2 +ENTRYPOINT ["java", "-jar", "tca-gen2.jar"] diff --git a/dcae-analytics/dcae-analytics-tca-web/pom.xml b/dcae-analytics/dcae-analytics-tca-web/pom.xml index a878a0f..f511100 100644 --- a/dcae-analytics/dcae-analytics-tca-web/pom.xml +++ b/dcae-analytics/dcae-analytics-tca-web/pom.xml @@ -3,6 +3,8 @@ ~ ================================================================================ ~ Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. ~ ================================================================================ + ~ Modifications Copyright (C) 2019 IBM + ~ ================================================================================ ~ 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 @@ -39,6 +41,7 @@ ${project.parent.basedir} + onap/${project.groupId}.${project.artifactId} @@ -151,25 +154,37 @@ - com.spotify - docker-maven-plugin - - false - ${docker.repository}/onap/${project.groupId}.${project.artifactId} - ${project.basedir} - - - ${project.basedir} - ${project.build.directory} - ${project.build.finalName}.jar - - - - ${project.version} - latest - - - + com.spotify + dockerfile-maven-plugin + 1.4.3 + + ${project.basedir} + ${docker.repository}/${docker.image.name} + + ${project.version} + latest + ${project.version}-${maven.build.timestamp}Z + + true + + target + ${dependency.dir.name} + /opt + ${project.build.finalName}.jar + + + + + default + install + + build + push + + + + + -- 2.16.6