#!/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