Added docker image builder for go MS 45/94645/3
authorDileep Ranganathan <dileep.ranganathan@intel.com>
Thu, 29 Aug 2019 22:49:46 +0000 (15:49 -0700)
committerMarco Platania <platania@research.att.com>
Fri, 30 Aug 2019 12:45:48 +0000 (12:45 +0000)
Added builder image and script to build golang based microservice images

Issue-ID: ONAPARC-366
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Change-Id: I90bd0cfbd5dfbe1d5a4233673e68fac1bc60accf

vnfs/DAaaS/microservices/Dockerfile.ci [new file with mode: 0644]
vnfs/DAaaS/microservices/build-image.sh [new file with mode: 0755]

diff --git a/vnfs/DAaaS/microservices/Dockerfile.ci b/vnfs/DAaaS/microservices/Dockerfile.ci
new file mode 100644 (file)
index 0000000..1040c14
--- /dev/null
@@ -0,0 +1,33 @@
+FROM ubuntu:18.04
+
+RUN apt-get -yqq update && apt-get -yqq install lsb-release apt-transport-https \
+    ca-certificates \
+    curl \
+    gnupg-agent \
+    software-properties-common
+RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
+RUN add-apt-repository \
+   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+   $(lsb_release -cs) \
+   stable"
+RUN apt-get -yqq update && apt-get -yqq install docker-ce docker-ce-cli mercurial
+RUN rm -rf /var/lib/apt/lists/*
+WORKDIR /app
+
+#### Go v1.12.5
+ENV GOLANG_VERSION 1.12.5
+RUN curl -sSL https://dl.google.com/go/go${GOLANG_VERSION}.linux-amd64.tar.gz \
+               | tar -v -C /usr/local -xz
+ENV PATH /usr/local/go/bin:$PATH
+RUN mkdir -p /go/src /go/bin && chmod -R 777 /go
+ENV GOROOT /usr/local/go
+ENV GOPATH /app/go
+ENV PATH /app/go/bin:$PATH
+#### Go v1.12.5
+
+RUN git clone https://github.com/onap/demo.git
+WORKDIR /app/demo/vnfs/DAaaS/microservices
+ENV RELEASE_VERSION=v0.9.0
+RUN curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
+RUN chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu && cp operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/operator-sdk && rm operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
+ENV GO111MODULE=on
\ No newline at end of file
diff --git a/vnfs/DAaaS/microservices/build-image.sh b/vnfs/DAaaS/microservices/build-image.sh
new file mode 100755 (executable)
index 0000000..61e0905
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+OPERATOR=$1
+OPERATOR_IMAGE=$2
+echo "Building $OPERATOR image $OPERATOR_IMAGE"
+CMD="export GO111MODULE=on && cd $OPERATOR && operator-sdk build $OPERATOR_IMAGE"
+
+docker build -f Dockerfile.ci . -t operator-image-builder:latest
+
+docker run --rm -it \
+    -v /var/run/docker.sock:/var/run/docker.sock \
+    -v $PWD:/app/demo/vnfs/DAaaS/microservices \
+    operator-image-builder:latest bash -c "$CMD"
+