Update k8splugin snapshot image
[multicloud/k8s.git] / deployments / build.sh
index a1f093a..1b00b07 100755 (executable)
 set -o nounset
 set -o pipefail
 
-source /etc/environment
-
 k8s_path="$(git rev-parse --show-toplevel)"
-export GOPATH=$k8s_path
 
-echo "Compiling source code"
-pushd $k8s_path/src/k8splugin/
-make
-popd
+VERSION="0.8.1-SNAPSHOT"
+export IMAGE_NAME="nexus3.onap.org:10003/onap/multicloud/k8s"
+
+function _compile_src {
+    echo "Compiling source code"
+    pushd $k8s_path/src/k8splugin/
+    make
+    popd
+}
+
+function _move_bin {
+    echo "Moving binaries"
+    rm -f k8plugin *so
+    mv $k8s_path/src/k8splugin/k8plugin .
+    mv $k8s_path/src/k8splugin/plugins/*.so .
+}
+
+function _cleanup {
+    echo "Cleaning previous execution"
+    docker-compose kill
+    image=$(grep "image.*k8plugin" docker-compose.yml)
+    if [[ -n ${image} ]]; then
+        docker images ${image#*:} -q | xargs docker rmi -f
+    fi
+    docker ps -a --filter "status=exited" -q | xargs docker rm
+}
+
+function _build_docker {
+    echo "Building docker image"
+    docker-compose build --no-cache
+}
+
+function _push_image {
+    local tag_name=${IMAGE_NAME}:${1:-latest}
 
-rm -f k8plugin *so
-mv $k8s_path/src/k8splugin/k8plugin .
-mv $k8s_path/src/k8splugin/plugins/*.so .
+    echo "Start push {$tag_name}"
+    docker push ${IMAGE_NAME}:latest
+    docker tag ${IMAGE_NAME}:latest ${tag_name}
+    docker push ${tag_name}
+}
 
-echo "Cleaning previous execution"
-docker-compose kill
-image=$(grep "image.*k8plugin" docker-compose.yml)
-docker images ${image#*:} -q | xargs docker rmi -f
-docker ps -a --filter "status=exited" -q | xargs docker rm
+if [[ -n "${JENKINS_HOME+x}" ]]; then
+    set -o xtrace
+    _compile_src
+    _move_bin
+    _build_docker
+    _push_image $VERSION
+else
+    source /etc/environment
 
-echo "Starting docker building process"
-docker-compose build --no-cache
+    _compile_src
+    _move_bin
+    _cleanup
+    _build_docker
+fi