From 7937bce5b0289ba186189f42b1832e8c854c5d83 Mon Sep 17 00:00:00 2001 From: Rashmi Pujar Date: Mon, 3 Jun 2019 21:45:58 -0400 Subject: Use io.fabric8:docker-maven-plugin to build and push docker images Addressed POLICY-1808 for drools-pdp to fix the tag to be major.minor-SNAPSHOT-latest Issue-ID: POLICY-969 Signed-off-by: Rashmi Pujar Change-Id: I21cd6080972ddf8cf357d6c134203b92fa9eb09b --- packages/docker/pom.xml | 145 ++++++++++++++++++++--------- packages/docker/src/main/docker/Dockerfile | 26 +++--- packages/install/src/assembly/zip.xml | 35 +++---- packages/pom.xml | 33 ++++--- 4 files changed, 152 insertions(+), 87 deletions(-) diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml index 8bfc437e..390e1371 100644 --- a/packages/docker/pom.xml +++ b/packages/docker/pom.xml @@ -3,6 +3,7 @@ ONAP Policy Engine - Docker files ================================================================================ Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + Modifications Copyright (C) 2019 Bell Canada. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -34,82 +35,134 @@ ONAP Policy Drools PDP Docker Build - https://nexus.onap.org + UTF-8 + UTF-8 + ${project.version} + false + false + false + nexus3.onap.org:10001 + nexus3.onap.org:10003 + yyyyMMdd'T'HHmm + ${project.version} + ${project.artifactId}-${project.version} - org.apache.maven.plugins - maven-dependency-plugin + org.codehaus.groovy.maven + gmaven-plugin + 1.0 - copy-drools-zip - prepare-package + validate - copy + execute - ${project.build.directory}/policy-drools - false - true - - - org.onap.policy.drools-pdp - install-drools - ${project.version} - zip - install-drools.zip - - + + println 'Project version: ' + project.properties['dist.project.version'] + if (project.properties['dist.project.version'] != null) { + def versionArray = project.properties['dist.project.version'].split('-') + def minMaxVersionArray = versionArray[0].tokenize('.') + if (project.properties['dist.project.version'].endsWith("-SNAPSHOT")) { + project.properties['project.docker.latest.minmax.tag.version'] = + minMaxVersionArray[0] + "." + minMaxVersionArray[1] + "-SNAPSHOT-latest" + } else { + project.properties['project.docker.latest.minmax.tag.version'] = + minMaxVersionArray[0] + "." + minMaxVersionArray[1] + "-STAGING-latest" + } + println 'New tag for docker: ' + project.properties['project.docker.latest.minmax.tag.version'] + } + - maven-resources-plugin + io.fabric8 + docker-maven-plugin + 0.30.0 + + true + 1.23 + ${docker.pull.registry} + ${docker.push.registry} + + + onap/policy-drools + + try + Dockerfile + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latest.minmax.tag.version} + + + + + + + org.onap.policy.drools-pdp:install-drools + + . + install-drools.zip + + + + + + + + - copy-resources - prepare-package + clean-images + pre-clean - copy-resources + remove - ${project.build.directory}/policy-drools - - - src/main/docker - - + true - - - - - org.codehaus.mojo - exec-maven-plugin - - get-target-version - prepare-package + generate-images + generate-sources - exec + build + + push-images + deploy + + build + push + + + onap/policy-drools + + + + + org.apache.maven.plugins + maven-deploy-plugin - echo - ${project.build.directory} - - ${project.version} - - ${project.build.directory}/version + true - - + + + ${project.groupId} + install-drools + ${project.version} + zip + + diff --git a/packages/docker/src/main/docker/Dockerfile b/packages/docker/src/main/docker/Dockerfile index 5c060ff2..d2fbf471 100644 --- a/packages/docker/src/main/docker/Dockerfile +++ b/packages/docker/src/main/docker/Dockerfile @@ -6,12 +6,12 @@ ARG BUILD_VERSION_DROOLS=${BUILD_VERSION_DROOLS} ARG POLICY_LOGS=/var/log/onap/policy/pdpd ARG POLICY_INSTALL=/tmp/policy-install -ENV BUILD_VERSION_DROOLS ${BUILD_VERSION_DROOLS} -ENV POLICY_INSTALL ${POLICY_INSTALL} -ENV POLICY_INSTALL_INIT ${POLICY_INSTALL}/config -ENV POLICY_LOGS ${POLICY_LOGS} -ENV POLICY_CONFIG ${POLICY_HOME}/config -ENV POLICY_LOGBACK ${POLICY_CONFIG}/logback.xml +ENV BUILD_VERSION_DROOLS $BUILD_VERSION_DROOLS +ENV POLICY_INSTALL $POLICY_INSTALL +ENV POLICY_INSTALL_INIT $POLICY_INSTALL/config +ENV POLICY_LOGS $POLICY_LOGS +ENV POLICY_CONFIG $POLICY_HOME/config +ENV POLICY_LOGBACK $POLICY_CONFIG/logback.xml ENV POLICY_DOCKER true RUN apk add --no-cache \ @@ -23,15 +23,15 @@ RUN apk add --no-cache \ vim \ && pip install http-prompt -RUN mkdir -p ${POLICY_CONFIG} ${POLICY_LOGS} ${POLICY_INSTALL_INIT} && \ - chown -R policy:policy ${POLICY_HOME} ${POLICY_LOGS} ${POLICY_INSTALL} && \ - rmdir ${POLICY_HOME}/etc/ssl && \ - rmdir ${POLICY_HOME}/etc +RUN mkdir -p $POLICY_CONFIG $POLICY_LOGS $POLICY_INSTALL_INIT && \ + chown -R policy:policy $POLICY_HOME $POLICY_LOGS $POLICY_INSTALL && \ + rmdir $POLICY_HOME/etc/ssl && \ + rmdir $POLICY_HOME/etc -WORKDIR ${POLICY_INSTALL} -COPY install-drools.zip docker-install.sh do-start.sh wait-for-port.sh ./ +WORKDIR $POLICY_INSTALL +COPY /maven/install-drools.zip docker-install.sh do-start.sh wait-for-port.sh ./ -VOLUME [ "${POLICY_INSTALL_INIT}" ] +VOLUME [ "$POLICY_INSTALL_INIT" ] RUN unzip -o install-drools.zip && \ rm install-drools.zip && \ diff --git a/packages/install/src/assembly/zip.xml b/packages/install/src/assembly/zip.xml index 48b82d40..b3e1bc7b 100644 --- a/packages/install/src/assembly/zip.xml +++ b/packages/install/src/assembly/zip.xml @@ -3,6 +3,7 @@ Installation Package ================================================================================ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + Modifications Copyright (C) 2019 Bell Canada. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19,21 +20,21 @@ --> - zipfile - - zip - - false - - - src/files - . - 755 - - - - - false - - + zipfile + + zip + + false + + + src/files + . + 755 + + + + + false + + diff --git a/packages/pom.xml b/packages/pom.xml index ff083186..956ed0d1 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -3,6 +3,7 @@ ONAP Policy Engine - Drools PDP ================================================================================ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + Modifications Copyright (C) 2019 Bell Canada. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,25 +19,35 @@ ============LICENSE_END========================================================= --> - - + 4.0.0 - org.onap.policy.drools-pdp drools-pdp 1.5.0-SNAPSHOT - packages pom - Policy Packages ONAP Policy Drools PDP Installation Packages - - - base - install - docker - + + + default + + true + + + + docker + + base + install + docker + + + false + + + -- cgit 1.2.3-korg