From 05dc6db4c704bfa413e693276517ca0449e69b8c Mon Sep 17 00:00:00 2001 From: Rashmi Pujar Date: Mon, 17 Jun 2019 11:45:37 -0400 Subject: [PATCH] Use io.fabric8:docker-maven-plugin to build and push docker images Issue-ID: POLICY-969 Signed-off-by: Rashmi Pujar Change-Id: Ic4fcec72d494df0a6e067aa353be49936136518c --- packages/docker/pom.xml | 233 ++++++++++++++++++----------- packages/docker/src/main/docker/Dockerfile | 2 +- packages/pom.xml | 77 +++++----- 3 files changed, 184 insertions(+), 128 deletions(-) diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml index 2fdeb874f..c251da6db 100644 --- a/packages/docker/pom.xml +++ b/packages/docker/pom.xml @@ -3,6 +3,7 @@ ONAP Policy Engine - Docker files ================================================================================ 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,99 +19,151 @@ ============LICENSE_END========================================================= --> - + - 4.0.0 + 4.0.0 - - org.onap.policy.engine - packages - 1.5.0-SNAPSHOT - + + org.onap.policy.engine + packages + 1.5.0-SNAPSHOT + - docker - pom - Policy Engine - Docker build - ONAP Policy Docker Build + docker + pom + Policy Engine - Docker build + ONAP Policy Docker Build - - https://nexus.onap.org - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-pe-zip - prepare-package - - copy - - - ${project.build.directory}/policy-pe - false - true - - - org.onap.policy.engine - install - ${project.version} - zip - install.zip - - - - - - - - maven-resources-plugin - 3.0.2 - - - copy-resources - prepare-package - - copy-resources - - - ${project.build.directory}/policy-pe - - - src/main/docker - - - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - get-target-version - prepare-package - - exec - - - - - echo - ${project.build.directory} - - ${project.version} - - ${project.build.directory}/version - - - - - + + 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.artifactId}-${project.version} + + + org.codehaus.groovy.maven + gmaven-plugin + 1.0 + + + validate + + execute + + + + 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'] + } + + + + + + + io.fabric8 + docker-maven-plugin + 0.30.0 + + true + 1.23 + ${docker.pull.registry} + ${docker.push.registry} + + + onap/policy-pe + + try + Dockerfile + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latest.minmax.tag.version} + + + + + + + org.onap.policy.engine:install + + . + install.zip + + + + + + + + + + + clean-images + pre-clean + + remove + + + true + + + + generate-images + generate-sources + + build + + + + push-images + deploy + + build + push + + + onap/policy-pe + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + + ${project.groupId} + install + ${project.version} + zip + + diff --git a/packages/docker/src/main/docker/Dockerfile b/packages/docker/src/main/docker/Dockerfile index 6b04b631f..7ef47b423 100644 --- a/packages/docker/src/main/docker/Dockerfile +++ b/packages/docker/src/main/docker/Dockerfile @@ -17,7 +17,7 @@ RUN mkdir -p /tmp/policy-install ${POLICY_LOGS} && \ WORKDIR /tmp/policy-install -COPY install.zip docker-install.sh do-start.sh wait-for-port.sh ./ +COPY /maven/install.zip docker-install.sh do-start.sh wait-for-port.sh ./ RUN unzip install.zip && rm install.zip && chown policy * && chmod +x *.sh USER policy diff --git a/packages/pom.xml b/packages/pom.xml index f1e3cb9ff..bba89600d 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -3,6 +3,7 @@ ONAP Policy Engine ================================================================================ 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. @@ -18,41 +19,43 @@ ============LICENSE_END========================================================= --> - - 4.0.0 - - org.onap.policy.engine - PolicyEngineSuite - 1.5.0-SNAPSHOT - - packages - pom - Policy Packages - D2 ONAP Policy Installation Packages - - - - default - - true - - - base - install - docker - - - - with-integration-tests - - base - install - - - - - base - install - docker - + + 4.0.0 + + org.onap.policy.engine + PolicyEngineSuite + 1.5.0-SNAPSHOT + + packages + pom + Policy Packages + D2 ONAP Policy Installation Packages + + + + default + + true + + + + docker + + base + install + docker + + + false + + + + with-integration-tests + + base + install + + + -- 2.16.6