#!/bin/bash
# Copyright 2016 RIFT.IO Inc
+# Copyright 2016 Telefónica Investigación y Desarrollo S.A.U.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# start-build is run on a host to start a MDG build
#
# 24 June 2016 -- Jeremy Mordkoff -- Genesis
+# -- Gerardo Garcia
HERE=$(realpath $(dirname $0))
shift
OSM_load_config
+if [ "$1" = "--build-container" ]; then
+ shift
+ [ $# -lt 1 ] && FATAL "missing container name with option --build-container"
+ export OSM_BUILD_CONTAINER=$1
+ shift
+fi
+
if ! container_exists $OSM_BUILD_CONTAINER; then
- if [[ "$OSM_BUILD_CONTAINER_PRIVILEGED" == yes ]]; then
- create_privileged_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER
- else
- create_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER
- fi
+ CONTAINER_OPTS=""
+ [[ "$OSM_BUILD_CONTAINER_PRIVILEGED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.privileged=true"
+ [[ "$OSM_BUILD_CONTAINER_ALLOW_NESTED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.nesting=true"
+ [[ "$OSM_BUILD_CONTAINER_ALLOW_DOCKER" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -p docker -p default"
+ create_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER $CONTAINER_OPTS
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 tar
+ container_exec $OSM_BUILD_CONTAINER yum -y install git tar make sudo
else
- container_exec $OSM_BUILD_CONTAINER apt -y install git realpath
+ container_exec $OSM_BUILD_CONTAINER apt-get -y install git realpath make sudo
+ fi
+ 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
- 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
- if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
- container_push_devops $OSM_BUILD_CONTAINER
- else
- container_exec $OSM_BUILD_CONTAINER git -C devops pull
- fi
+ 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 $*