added an option to reuse the devops workspace from the host inside the container... 56/256/1
authorJeremy Mordkoff <jeremy.mordkoff@riftio.com>
Thu, 21 Jul 2016 20:32:25 +0000 (16:32 -0400)
committerJeremy Mordkoff <jeremy.mordkoff@riftio.com>
Thu, 21 Jul 2016 20:32:25 +0000 (16:32 -0400)
Signed-off-by: Jeremy Mordkoff <jeremy.mordkoff@riftio.com>
jenkins/common/container
jenkins/host/start_build
jenkins/riftware/start_build

index 3c09d7f..5c0ef95 100644 (file)
@@ -73,3 +73,14 @@ wait_container_up() {
        done
        FATAL "container $1 did not start"
 }
+container_push_tree() { 
+    # create a tarball locally, pipe it into the container and unpack it there
+       [ $# -eq 3 ] || FATAL "args are container dir_from dir_to (dir_to MUST exist)"
+    tar -C "$2" -c . -f - | container_exec $1 tar -C "$3" -x -f -
+}
+
+container_push_devops() { 
+       [ $# -eq 1 ] || FATAL "arg is container name got $# args - $*"
+    container_exec "$1" mkdir -p /root/devops
+    container_push_tree "$1" "$(dirname $OSM_JENKINS)" "/root/devops"
+}
index 06ce3a6..dd69799 100755 (executable)
@@ -36,13 +36,21 @@ if ! container_exists $OSM_BUILD_CONTAINER; then
        wait_container_up $OSM_BUILD_CONTAINER
        RE="fedora|fc[0-9]"
        if [[ $OSM_BASE_IMAGE =~ $RE ]]; then
-               container_exec $OSM_BUILD_CONTAINER yum -y install git
+               container_exec $OSM_BUILD_CONTAINER yum -y install git tar
        else
                container_exec $OSM_BUILD_CONTAINER apt -y install git realpath
        fi
-       container_exec $OSM_BUILD_CONTAINER git clone ${OSM_GIT_URL}/devops
+    if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
+        container_push_devops $OSM_BUILD_CONTAINER
+    else
+           container_exec $OSM_BUILD_CONTAINER git clone ${OSM_GIT_URL}/devops
+    fi
 else
-       container_exec $OSM_BUILD_CONTAINER git -C devops pull
+    if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
+        container_push_devops $OSM_BUILD_CONTAINER
+    else
+           container_exec $OSM_BUILD_CONTAINER git -C devops pull
+    fi
 fi
 
 container_exec $OSM_BUILD_CONTAINER ./devops/jenkins/$OSM_MDG/start_build
index a7826ab..0f31477 100755 (executable)
@@ -33,7 +33,7 @@ else
        git clone $OSM_GIT_URL/riftware
        cd riftware
        INFO "install pre-requisites"
-       bash ./scripts/vm_image/mkvmimg --container --modes build
+       bash ./scripts/vm_image/mkcontainer --modes build
 fi
 
 INFO "no build script yet"