2 # Copyright 2016 RIFT.IO Inc
3 # Copyright 2016 Telefónica Investigación y Desarrollo S.A.U.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 # start-build is run on a host to start a MDG build
19 # 24 June 2016 -- Jeremy Mordkoff -- Genesis
23 HERE=$(realpath $(dirname $0))
24 OSM_JENKINS=$(dirname $HERE)
25 . $OSM_JENKINS/common/all_funcs
27 [ $# -lt 1 ] && FATAL "arg is MDG name"
33 if [ "$1" = "--build-container" ]; then
35 [ $# -lt 1 ] && FATAL "missing container name with option --build-container"
36 export OSM_BUILD_CONTAINER=$1
40 if ! container_exists $OSM_BUILD_CONTAINER; then
42 [[ "$OSM_BUILD_CONTAINER_PRIVILEGED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.privileged=true"
43 [[ "$OSM_BUILD_CONTAINER_ALLOW_NESTED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.nesting=true"
44 [[ "$OSM_BUILD_CONTAINER_ALLOW_DOCKER" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -p docker -p default"
45 create_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER $CONTAINER_OPTS
46 wait_container_up $OSM_BUILD_CONTAINER
48 if [[ $OSM_BASE_IMAGE =~ $RE ]]; then
49 container_exec $OSM_BUILD_CONTAINER yum -y install git tar make sudo
51 container_exec $OSM_BUILD_CONTAINER apt-get -y install git realpath make sudo
53 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
54 container_push_devops $OSM_BUILD_CONTAINER
56 container_exec $OSM_BUILD_CONTAINER git clone ${OSM_GIT_URL}/devops
59 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
60 container_push_devops $OSM_BUILD_CONTAINER
62 container_exec $OSM_BUILD_CONTAINER git -C devops pull
66 container_exec $OSM_BUILD_CONTAINER ./devops/jenkins/$OSM_MDG/start_build $*
68 INFO "$OSM_MDG build complete. Return code was $RC"