From 380b7afc7c81a13c3025de0efed050ddbd1d929b Mon Sep 17 00:00:00 2001 From: "Muthuramalingam, Brinda Santh(bs2796)" Date: Thu, 23 Aug 2018 15:54:30 +0000 Subject: Controller Blueprints Microservice Add Docker Build and Deploy Maven Implementations for Controller Blueprint MS and their dependencies Change-Id: I9eee9fff535bcc9ca0b855150892ce53af126d1c Issue-ID: CCSDK-483 Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) --- ms/controllerblueprints/distribution/pom.xml | 187 +++++++++++++++++++++ .../distribution/src/main/dc/docker-compose.yaml | 36 ++++ .../distribution/src/main/docker/Dockerfile | 20 +++ .../distribution/src/main/docker/distribution.xml | 72 ++++++++ .../distribution/src/main/docker/startService.sh | 8 + 5 files changed, 323 insertions(+) create mode 100644 ms/controllerblueprints/distribution/pom.xml create mode 100644 ms/controllerblueprints/distribution/src/main/dc/docker-compose.yaml create mode 100644 ms/controllerblueprints/distribution/src/main/docker/Dockerfile create mode 100644 ms/controllerblueprints/distribution/src/main/docker/distribution.xml create mode 100644 ms/controllerblueprints/distribution/src/main/docker/startService.sh (limited to 'ms/controllerblueprints/distribution') diff --git a/ms/controllerblueprints/distribution/pom.xml b/ms/controllerblueprints/distribution/pom.xml new file mode 100644 index 000000000..37c0b8448 --- /dev/null +++ b/ms/controllerblueprints/distribution/pom.xml @@ -0,0 +1,187 @@ + + + + + 4.0.0 + + org.onap.ccsdk.apps.controllerblueprints + parent + 0.3.0-SNAPSHOT + ../parent + + distribution + pom + Controller Blueprints Distribution + + maven + org.onap.ccsdk.apps + controllerblueprints + onap/ccsdk-controllerblueprints + + + + + org.onap.ccsdk.apps.controllerblueprints + application + + + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/docker + + * + + true + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + ant-test + package + + + + + + + run + + + + + + + maven-assembly-plugin + 3.0.0 + + + ${basedir}/target/docker-stage + + src/main/docker/distribution.xml + + posix + + + + ${assembly.id} + package + + single + + + + + + org.codehaus.groovy.maven + gmaven-plugin + 1.0 + + + validate + + execute + + + + println project.properties['ccsdk.project.version']; + def versionArray; + if (project.properties['ccsdk.project.version'] != null ) { + versionArray = project.properties['ccsdk.project.version'].split('\\.'); + } + + if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) + { + project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + } else { + project.properties['project.docker.latesttag.version']=versionArray[0]+'.' + versionArray[1]+"-STAGING-latest"; + } + + println 'New Tag for docker:' + project.properties['project.docker.latesttag.version']; + + + + + + + io.fabric8 + docker-maven-plugin + 0.26.1 + false + + + + ${image.name} + + try + ${basedir}/target/docker-stage + + ${project.version} + ${project.version}-STAGING-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + true + + + + + + + + + + + push-images + deploy + + build + push + + + + + + + + diff --git a/ms/controllerblueprints/distribution/src/main/dc/docker-compose.yaml b/ms/controllerblueprints/distribution/src/main/dc/docker-compose.yaml new file mode 100644 index 000000000..9450f3065 --- /dev/null +++ b/ms/controllerblueprints/distribution/src/main/dc/docker-compose.yaml @@ -0,0 +1,36 @@ +version: '3.3' + +services: + db: + image: mysql:5.7.22 + container_name: cb-mysql + ports: + - "3307:3306" + volumes: + - ~/vm_mysql:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: sdnctl + MYSQL_DATABASE: sdnctl + MYSQL_USER: sdnctl + MYSQL_PASSWORD: sdnctl + controller-blueprints: + depends_on: + - db + image: onap/ccsdk-controllerblueprints:latest + container_name: cb-rest + ports: + - "8080:8080" + restart: always + volumes: + - ~/share/vm_ms/controllerblueprints/config:/opt/app/onap/config + - ~/share/vm_ms/controllerblueprints/logs:/logs + environment: + DB_URL: jdbc:mysql://db:3306/sdnctl + DB_USER: sdnctl + DB_PASSWORD: sdnctl + INIT_DATA_LOAD: "true" + APP_CONFIG_HOME: /opt/app/onap/config + BUNDLEVERSION: 1.0.0 + STICKYSELECTORKEY: + ENVCONTEXT: DEV \ No newline at end of file diff --git a/ms/controllerblueprints/distribution/src/main/docker/Dockerfile b/ms/controllerblueprints/distribution/src/main/docker/Dockerfile new file mode 100644 index 000000000..a2f453f24 --- /dev/null +++ b/ms/controllerblueprints/distribution/src/main/docker/Dockerfile @@ -0,0 +1,20 @@ +FROM anapsix/alpine-java:8_jdk + +ENV HTTP_PROXY ${HTTP_PROXY} +ENV HTTPS_PROXY ${HTTPS_PROXY} + +RUN apk add --no-cache curl + +COPY startService.sh /startService.sh +RUN chmod 777 /startService.sh && dos2unix /startService.sh + +COPY @project.build.finalName@-@assembly.id@.tar.gz /source.tar.gz + +RUN (mkdir -p /source /opt/app/onap) && (tar -xzf /source.tar.gz -C /source) \ +&& (mv /source/@project.build.finalName@ /source/app) \ +&& (cp -rf /source/app/opt/app/onap/lib /opt/app/onap/) \ +&& (cp -rf /source/app/etc /) \ +&& (cp -rf /source/app/load /) \ +&& (rm -rf /source) + +ENTRYPOINT /startService.sh diff --git a/ms/controllerblueprints/distribution/src/main/docker/distribution.xml b/ms/controllerblueprints/distribution/src/main/docker/distribution.xml new file mode 100644 index 000000000..f2f3cb0be --- /dev/null +++ b/ms/controllerblueprints/distribution/src/main/docker/distribution.xml @@ -0,0 +1,72 @@ + + + + + + ${assembly.id} + + tar.gz + + + + /opt/app/onap/lib + + + + + + + ${project.basedir}/../application/src/main/resources + + application.properties + + ./ + true + + + ${project.basedir}/src/main/docker + + Dockerfile + startService.sh + + ./ + true + + + ${project.basedir}/../application/src/main/groovy + src/main/groovy + true + + + ${project.basedir}/../application/src/main/resources + src/main/resources + true + + + ${project.basedir}/../application/etc + ./etc + true + + + ${project.basedir}/../application/load + load + true + + + diff --git a/ms/controllerblueprints/distribution/src/main/docker/startService.sh b/ms/controllerblueprints/distribution/src/main/docker/startService.sh new file mode 100644 index 000000000..7077c2246 --- /dev/null +++ b/ms/controllerblueprints/distribution/src/main/docker/startService.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +nodeName=ControllerBlueprints_1.0.0_$(cat /proc/self/cgroup | grep docker | sed s/\\//\\n/g | tail -1) + +echo "APP Config HOME : ${APP_CONFIG_HOME}" +export APP_HOME=/opt/app/onap + +source /etc/run.source -- cgit 1.2.3-korg