From f92128c85a0e23a90872eff59bcccca36aad0beb Mon Sep 17 00:00:00 2001 From: Patrick Brady Date: Thu, 15 Mar 2018 17:52:35 -0400 Subject: [PATCH] Add docker build for cdt Adding the scripts and docker file to build a docker image for cdt, based on httpd image. Change-Id: I10a99c6776dede642615e3da9654e62f644b3276 Signed-off-by: Patrick Brady Issue-ID: APPC-748 --- cdt/pom.xml | 281 ++++++++++++++++++++++++++++++++++++ cdt/src/main/docker/Dockerfile | 26 ++++ cdt/src/main/scripts/installZips.sh | 59 ++++++++ pom.xml | 2 +- 4 files changed, 367 insertions(+), 1 deletion(-) create mode 100644 cdt/pom.xml create mode 100644 cdt/src/main/docker/Dockerfile create mode 100644 cdt/src/main/scripts/installZips.sh diff --git a/cdt/pom.xml b/cdt/pom.xml new file mode 100644 index 0000000..9b827a0 --- /dev/null +++ b/cdt/pom.xml @@ -0,0 +1,281 @@ + + + + + + org.onap.appc.deployment + appc-docker-project + 1.3.0-SNAPSHOT + + + 4.0.0 + pom + org.onap.appc.deployment + installation-cdt + 1.3.0-SNAPSHOT + + Installation - CDT Docker + Creates APPC CDT Docker container + + + onap/appc-cdt-image + 1.6.0 + 1.6.0-SNAPSHOT + + 1.0.0 + yyyyMMdd'T'HHmmss + + + + + + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + + true + + + + + + + + + + + exec-maven-plugin + org.codehaus.mojo + 1.5.0 + + + Get features + generate-sources + + exec + + + bash + + ${appc.version} + ${project.version} + ${project.version} + + + ${basedir}/src/main/scripts/installZips.sh + ${basedir}/target/docker-stage + + + + + + + + + + + + docker + + + + org.codehaus.groovy.maven + gmaven-plugin + + + validate + + execute + + + + ${project.version} + ${maven.build.timestamp} + + + println project.properties['ver']; + def versionArray; + if ( project.properties['ver'] != null ) { + versionArray = project.properties['ver'].split('\\.'); + } + if ( project.properties['ver'].endsWith("-SNAPSHOT") ) { + project.properties['dockertag1']=project.properties['ver'] + "-latest"; + project.properties['dockertag2']="latest"; + project.properties['appc.version']=project.properties['appc.snapshot.version']; + } else { + project.properties['dockertag1']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp']; + project.properties['appc.version']=project.properties['appc.release.version']; + } + println 'docker tag 1: ' + project.properties['dockertag1']; + println 'docker tag 2: ' + project.properties['dockertag2']; + + + + + + + io.fabric8 + docker-maven-plugin + 0.16.5 + false + + + + ${image.name} + + try + ${basedir}/target/docker-stage + ${basedir}/target/docker-stage/Dockerfile + + ${dockertag1} + ${dockertag2} + + + + + + + + generate-images + package + + build + + + + + push-images + deploy + + build + push + + + + + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + + true + + + + + + + + exec-maven-plugin + org.codehaus.mojo + 1.5.0 + + + Get features + generate-sources + + exec + + + bash + + ${appc.version} + ${project.version} + ${project.version} + + + ${basedir}/src/main/scripts/installZips.sh + ${basedir}/target/docker-stage + ${basedir}/target/docker-stage + + + + + + + + + + + + + + + ONAP + + + diff --git a/cdt/src/main/docker/Dockerfile b/cdt/src/main/docker/Dockerfile new file mode 100644 index 0000000..d0ab6c8 --- /dev/null +++ b/cdt/src/main/docker/Dockerfile @@ -0,0 +1,26 @@ +# ============LICENSE_START========================================== +# ONAP : APPC +# =================================================================== +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the License); +# you may not use this software except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================ + +# Base ubuntu with added packages needed for ONAP +FROM httpd +MAINTAINER APP-C Team (appc@lists.openecomp.org) + +COPY config-design-tool /usr/local/apache2/htdocs/ diff --git a/cdt/src/main/scripts/installZips.sh b/cdt/src/main/scripts/installZips.sh new file mode 100644 index 0000000..748241e --- /dev/null +++ b/cdt/src/main/scripts/installZips.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# APPC +# ================================================================================ +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +if [ -z "$SETTINGS_FILE" -a -z "$GLOBAL_SETTINGS_FILE" -a -s "$HOME"/.m2/settings.xml ] +then + DEFAULT_MAVEN_SETTINGS=${HOME}/.m2/settings.xml + SETTINGS_FILE=${SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}} + GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}} +fi + +APPC_HOME=${APPC_HOME:-/opt/onap/appc} +SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc} + +targetDir=${1} +sdnc_targetDir=${1} + + + +APPC_VERSION=${APPC_VERSION:-0.0.1} +APPC_OAM_VERSION=${APPC_OAM_VERSION:-0.1.1} + +if [ ! -d ${targetDir} ] +then + mkdir -p ${targetDir} +fi + +cwd=$(pwd) + +mavenOpts="-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}" +cd /tmp + + + +echo "Downloading cdt code from nexus" +mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc.cdt:config-design-tool:${APPC_VERSION}:zip -DoutputDirectory=/tmp +unzip -d ${targetDir}/config-design-tool /tmp/config-design-tool*.zip + + +cd $cwd + diff --git a/pom.xml b/pom.xml index 030e98b..034717f 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -ECOMP is a trademark and service mark of AT&T Intellectual Property. ============LICENSE_END============================================ --> @@ -114,6 +113,7 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. platform-logic installation + cdt ONAP -- 2.16.6