summaryrefslogtreecommitdiffstats
path: root/deployments/build.sh
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2018-10-18 13:39:45 -0700
committerVictor Morales <victor.morales@intel.com>2018-10-18 13:39:45 -0700
commit5e57e6a34693e27e904441666eb87b03855c7d98 (patch)
tree25de389db4afd974c37a02fb26d1b34bf2ff4360 /deployments/build.sh
parenta272d5104bde2d9eca6a9082ea122db273a981ed (diff)
Improve build process
The build process is used by Jenkins Daily Jobs to generate images as well as the provisioning vagrant process. This change pretends to satisfy both processes. Change-Id: I53d77b0e64f2482e612e59d5a3881fae53c63cbd Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-ID: MULTICLOUD-301
Diffstat (limited to 'deployments/build.sh')
-rwxr-xr-xdeployments/build.sh64
1 files changed, 49 insertions, 15 deletions
diff --git a/deployments/build.sh b/deployments/build.sh
index 6272c467..90da6f95 100755
--- a/deployments/build.sh
+++ b/deployments/build.sh
@@ -10,25 +10,59 @@
set -o nounset
set -o pipefail
-set -o xtrace
k8s_path="$(git rev-parse --show-toplevel)"
export GOPATH=$k8s_path
-echo "Compiling source code"
-pushd $k8s_path/src/k8splugin/
-make
-popd
+VERSION="0.1.0"
+export IMAGE_NAME="nexus3.onap.org:10003/onap/multicloud/k8s"
-rm -f k8plugin *so
-mv $k8s_path/src/k8splugin/k8plugin .
-mv $k8s_path/src/k8splugin/plugins/*.so .
+function _compile_src {
+ echo "Compiling source code"
+ pushd $k8s_path/src/k8splugin/
+ make
+ popd
+}
-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
+function _move_bin {
+ echo "Moving binaries"
+ rm -f k8plugin *so
+ mv $k8s_path/src/k8splugin/k8plugin .
+ mv $k8s_path/src/k8splugin/plugins/*.so .
+}
-echo "Starting docker building process"
-docker-compose build --no-cache
+function _cleanup {
+ 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
+}
+
+function _build_docker {
+ echo "Building docker image"
+ docker-compose build --no-cache
+}
+
+function _push_image {
+ local tag_name=${IMAGE_NAME}:${1:-latest}
+
+ echo "Start push {$tag_name}"
+ docker tag ${IMAGE_NAME}:latest ${tag_name}
+ docker push ${tag_name}
+}
+
+if [[ -n "${JENKINS_HOME+x}" ]]; then
+ set -o xtrace
+ _compile_src
+ _move_bin
+ _build_docker
+ _push_image $VERSION
+else
+ source /etc/environment
+
+ _compile_src
+ _move_bin
+ _cleanup
+ _build_docker
+fi