- master:
branch: 'master'
gs-pathname: ''
- flags: '-fM'
- disabled: false
project: 'apex'
node: opnfv-jump-1
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
parameters:
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
forbidden-file-paths:
- compare-type: ANT
pattern: 'docs/**'
use-build-blocker: true
blocking-jobs:
- "apex-daily.*"
+ - "apex-deploy.*"
+ - "apex-build.*"
builders:
- 'apex-build'
node: opnfv-jump-1
+ disabled: true
+
parameters:
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
project: '{project}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
- gerrit-parameter:
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
refspec: ''
branch: '{branch}'
- triggers:
- - 'apex-{stream}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-deploy.*"
builders:
- 'apex-build'
disabled: false
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
parameters:
- project-parameter:
project: '{project}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
+
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-verify.*"
+ - "apex-deploy.*"
+ - "apex-build.*"
builders:
- 'apex-deploy-virtual'
# branch: branch (eg. stable)
node: opnfv-jump-1
- disabled: true
+ disabled: false
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
parameters:
- project-parameter:
project: '{project}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
+
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-verify.*"
+ - "apex-deploy.*"
+ - "apex-build.*"
+ - "apex-daily.*"
builders:
+ - 'apex-deploy-baremetal'
- 'apex-workspace-cleanup'
- job-template:
disabled: false
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
parameters:
- project-parameter:
project: '{project}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
- flags: '{flags}'
properties:
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - "apex-daily.*"
+ - "apex-verify.*"
+ - "apex-deploy.*"
+ - "apex-build.*"
+
+ triggers:
+ - 'apex-{stream}'
+
builders:
- trigger-builds:
- project: 'apex-build-{stream}'
git-revision: true
block: true
- trigger-builds:
- - project: 'apex-deploy-baremetal-{stream}'
- - trigger-builds:
- - project: 'functest-apex-{stream}'
+ - project: 'functest-apex-opnfv-jump-1-daily-{stream}'
block: true
block-thresholds:
build-step-failure-threshold: 'never'
name: GS_URL
default: artifacts.opnfv.org/$PROJECT/{gs-pathname}
description: "URL to Google Storage."
- - string:
- name: FLAGS
- default: '{flags}'
- description: "Build Flags"
########################
# builder macros
# log info to console
echo "Starting the build of Apex using OpenStack Master packages. This will take some time..."
echo "---------------------------------------------------------------------------------------"
- echo "Build flags for this build are ${FLAGS}"
- echo "---------------------------------------------------------------------------------------"
echo
# create the cache directory if it doesn't exist
[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
# start the build
cd $WORKSPACE/ci
- ./build.sh $FLAGS -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
+ ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../build/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
# list the contents of BUILD_OUTPUT directory
ls -al $BUILD_DIRECTORY
[[ -f opnfv.properties ]] || exit 1
# source the file so we get OPNFV vars
source opnfv.properties
- RPM_INSTALL_PATH=$RPM_URL
+ RPM_INSTALL_PATH=$OPNFV_RPM_URL
fi
fi
# cleanup virtual machines before we start
sudo opnfv-clean
# initiate virtual deployment
- sudo opnfv-deploy -v
+ if [ -e /usr/share/doc/opnfv/network_settings.yaml.example ]; then
+ sudo opnfv-deploy -v -d /usr/share/doc/opnfv/deploy_settings.yaml.example -n /usr/share/doc/opnfv/network_settings.yaml.example
+ else
+ sudo opnfv-deploy -v
+ fi
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
+
+- builder:
+ name: 'apex-deploy-baremetal'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # log info to console
+ echo "Starting the Apex baremetal deployment."
+ echo "--------------------------------------------------------"
+ echo
+
+ if [[ ! "$ARTIFACT_NAME" == "latest" ]]; then
+ # if artifact name is passed the pull a
+ # specific artifact from artifacts.opnfv.org
+ RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME
+ else
+ if [[ -f opnfv.properties ]]; then
+ # if opnfv.properties exists then use the
+ # local build. Source the file so we get local OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ else
+ # no opnfv.properties means use the latest from artifacts.opnfv.org
+ # get the latest.properties to get the link to the latest artifact
+ curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties
+ [[ -f opnfv.properties ]] || exit 1
+ # source the file so we get OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=$OPNFV_RPM_URL
+ fi
+ fi
+
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ if [ ! -e "$RPM_INSTALL_PATH" ]; then
+ RPM_INSTALL_PATH=http://${OPNFV_RPM_URL}
+ fi
+
+ # update / install the new rpm
+ if rpm -q opnfv-apex > /dev/null; then
+ if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
+ echo "RPM is already installed"
+ elif sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then
+ sudo yum downgrade -y $RPM_INSTALL_PATH;
+ fi
+ else
+ sudo yum install -y $RPM_INSTALL_PATH;
+ fi
+
+ # cleanup environment before we start
+ sudo opnfv-clean
+ # initiate baremetal deployment
+ sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \
+ -d /usr/share/doc/opnfv/deploy_settings.yaml.example \
+ -n /root/network/network_settings.yaml
echo
echo "--------------------------------------------------------"