summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorBryan Sullivan <bryan.sullivan@att.com>2018-01-31 19:21:04 -0800
committerBryan Sullivan <bryan.sullivan@att.com>2018-01-31 19:21:04 -0800
commit2455319d8aa4e97d6fa0047ae7ffec2399d6045c (patch)
tree92f152faaa2b2f3099b5ab7ffa1a5ecf1f1850d2 /build
parent1ff6c15c3bc7d724597867e54204095a832df08e (diff)
Fix build process; add clearwater-live-test
JIRA: MODELS-2 Change-Id: I8d8e6300959d788aeae2caef632c505265bae9c4 Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
Diffstat (limited to 'build')
-rw-r--r--build/clearwater-docker.sh63
-rw-r--r--build/clearwater-live-test.sh76
2 files changed, 107 insertions, 32 deletions
diff --git a/build/clearwater-docker.sh b/build/clearwater-docker.sh
index 9fa4bde..8e84618 100644
--- a/build/clearwater-docker.sh
+++ b/build/clearwater-docker.sh
@@ -42,36 +42,6 @@ function log() {
echo "$f:$l ($(date)) $1"
}
-function build() {
- log "Starting clearwater-docker build process"
- if [[ -d /tmp/clearwater-docker ]]; then rm -rf /tmp/clearwater-docker; fi
-
- log "Cloning clearwater-docker repo to /tmp/clearwater-docker"
- git clone https://github.com/Metaswitch/clearwater-docker.git \
- /tmp/clearwater-docker
-
- log "Building the images"
- cd /tmp/clearwater-docker
- vnfc="base astaire cassandra chronos bono ellis homer homestead homestead-prov ralf sprout"
- for i in $vnfc ; do
- log "Building $i"
- sudo docker build $cache -t clearwater/$i $i
- done
-}
-
-function push() {
- log "push images to docker hub"
- for i in $vnfc ; do
- log "Tagging the image as $hub_user/clearwater-$i:$tag"
- id=$(sudo docker images | grep clearwater/$i | awk '{print $3}')
- id=$(echo $id | cut -d ' ' -f 1)
- sudo docker tag $id $hub_user/clearwater-$i:$tag
-
- log "Pushing the image to dockerhub as $hub_user/clearwater-$i"
- sudo docker push $hub_user/clearwater-$i
- done
-}
-
hub_user=$1
tag=$2
cache="$3"
@@ -85,7 +55,36 @@ else
sudo yum update -y
fi
-build
-push
+if [[ "$cache" == "--no-cache" ]]; then
+ log "Purge old images"
+ images=$(sudo docker images clearwater-* | awk '/clearwater/ {print $1}')
+ for image in $images ; do sudo docker image rm $image; done
+fi
+
+log "Starting clearwater-docker build process"
+if [[ -d /tmp/clearwater-docker ]]; then rm -rf /tmp/clearwater-docker; fi
+
+log "Cloning clearwater-docker repo to /tmp/clearwater-docker"
+git clone --recursive https://github.com/Metaswitch/clearwater-docker.git \
+ /tmp/clearwater-docker
+
+log "Building the images"
+cd /tmp/clearwater-docker
+vnfc="base astaire cassandra chronos bono ellis homer homestead homestead-prov ralf sprout"
+for i in $vnfc ; do
+ log "Building $i"
+ if [[ "$i" != "base" ]]; then
+ log "Reference $hub_user/clearwater-base:$tag"
+ sed -i -- "s~FROM clearwater/base~FROM $hub_user/clearwater-base:$tag~" \
+ $i/Dockerfile
+ fi
+ sudo docker build $cache -t clearwater-$i $i
+ log "Tagging the image as $hub_user/clearwater-$i:$tag"
+ id=$(sudo docker images | grep "clearwater-$i " | awk '{print $3}')
+ id=$(echo $id | cut -d ' ' -f 1)
+ sudo docker tag $id $hub_user/clearwater-$i:$tag
+ log "Pushing the image to dockerhub as $hub_user/clearwater-$i"
+ sudo docker push $hub_user/clearwater-$i
+done
cd $WORK_DIR
diff --git a/build/clearwater-live-test.sh b/build/clearwater-live-test.sh
new file mode 100644
index 0000000..a4db776
--- /dev/null
+++ b/build/clearwater-live-test.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+# Copyright 2018 AT&T Intellectual Property, Inc
+#
+# 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.
+#
+#. What this is: Build script for the github clearwater-live-test project
+#. https://github.com/Metaswitch/clearwater-live-test
+#.
+#. Prerequisites:
+#. Docker hub user logged on so images can be pushed to docker hub, i.e. via
+#. $ docker login -u <hub_user>
+#.
+#. Usage:
+#. bash clearwater-live-test.sh <hub_user> <tag> [--no-cache]
+#. hub_user: username for dockerhub
+#. tag: tag to apply to the built images
+#. --no-cache: build clean
+#.
+#. Status: this is a work in progress, under test.
+
+trap 'fail' ERR
+
+fail() {
+ log "Build Failed!"
+ exit 1
+}
+
+function log() {
+ f=$(caller 0 | awk '{print $2}')
+ l=$(caller 0 | awk '{print $1}')
+ echo ""
+ echo "$f:$l ($(date)) $1"
+}
+
+hub_user=$1
+tag=$2
+cache="$3"
+dist=`grep DISTRIB_ID /etc/*-release | awk -F '=' '{print $2}'`
+export WORK_DIR=$(pwd)
+
+log "Update package repos"
+if [ "$dist" == "Ubuntu" ]; then
+ sudo apt-get update
+else
+ sudo yum update -y
+fi
+
+log "Starting clearwater-live-test build process"
+if [[ -d /tmp/clearwater-live-test ]]; then rm -rf /tmp/clearwater-live-test; fi
+
+log "Cloning clearwater-live-test repo to /tmp/clearwater-live-test"
+git clone --recursive https://github.com/Metaswitch/clearwater-live-test.git \
+ /tmp/clearwater-live-test
+cd /tmp/clearwater-live-test
+
+log "Building the image"
+sudo docker build $cache -t clearwater/clearwater-live-test .
+
+log "Tagging the image as $hub_user/clearwater-live-test:$tag"
+id=$(sudo docker images | grep "clearwater-live-test " | awk '{print $3}')
+id=$(echo $id | cut -d ' ' -f 1)
+sudo docker tag $id $hub_user/clearwater-live-test:$tag
+
+log "Pushing the image to dockerhub as $hub_user/clearwater-live-test"
+sudo docker push $hub_user/clearwater-live-test
+