| #!/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. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under 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)) |
| OSM_JENKINS=$(dirname $HERE) |
| . $OSM_JENKINS/common/all_funcs |
| |
| [ $# -lt 1 ] && FATAL "arg is MDG name" |
| |
| export OSM_MDG=$1 |
| 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 |
| 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 make sudo |
| else |
| 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 |
| 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 |
| fi |
| |
| container_exec $OSM_BUILD_CONTAINER ./devops/jenkins/$OSM_MDG/start_build $* |
| RC=$? |
| INFO "$OSM_MDG build complete. Return code was $RC" |
| exit $RC |
| |