summaryrefslogtreecommitdiffstats
path: root/jjb/genesis/genesis-compass.yml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/genesis/genesis-compass.yml')
-rwxr-xr-xjjb/genesis/genesis-compass.yml122
1 files changed, 117 insertions, 5 deletions
diff --git a/jjb/genesis/genesis-compass.yml b/jjb/genesis/genesis-compass.yml
index 9065da972..5afcc4590 100755
--- a/jjb/genesis/genesis-compass.yml
+++ b/jjb/genesis/genesis-compass.yml
@@ -7,8 +7,10 @@
jobs:
- 'genesis-compass-verify'
+ - 'genesis-compass-upload-iso'
- 'genesis-compass-merge'
- 'genesis-compass-daily-{stream}'
+ - 'genesis-compass-build'
- 'genesis-compass-deploy-virtual-{flavor}'
# stream: branch with - in place of / (eg. stable-helium)
@@ -27,11 +29,37 @@
- project: 'genesis'
+ project: 'compass4nfv'
########################
# job templates
########################
+- job-template:
+ name: 'genesis-compass-upload-iso'
+ project-type: freestyle
+ disabled: false
+
+ node: master
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - compass-parameter:
+ installer: '{installer}'
+
+ wrappers:
+ - ssh-agent-credentials:
+ user: '{ssh-credentials}'
+
+ builders:
+ - 'compass-copy-artifact'
+ - 'compass-upload-artifact'
- job-template:
name: 'genesis-compass-verify'
@@ -194,6 +222,43 @@
project: 'genesis-compass-deploy-virtual-cluster'
threshold: SUCCESS
+- job-template:
+ name: 'genesis-compass-build'
+
+ project-type: freestyle
+
+ node: compass-build-deploy-03
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - compass-parameter:
+ installer: '{installer}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: 'master'
+
+ builders:
+ - 'compass-build'
+ - 'compass-workspace-cleanup'
+
+ publishers:
+ - archive:
+ artifacts: '$BUILD_DIRECTORY/*.*'
+ allow-empty: 'true'
+ fingerprint: true
+ - trigger:
+ project: 'genesis-compass-upload-iso'
+ threshold: SUCCESS
- job-template:
name: 'genesis-compass-deploy-virtual-{flavor}'
@@ -239,7 +304,7 @@
description: "Installer to use."
- string:
name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
+ default: build_output
description: "Directory where the build artifact will be located upon the completion of the build."
- string:
name: CACHE_DIRECTORY
@@ -255,11 +320,22 @@
description: "URL to Google Storage."
- string:
name: INTERNAL_REPO
- default: "root@192.168.121.12:~/kun/artifacts"
+ default: "root@192.168.127.11:~/xh/work/build/work"
description: "Artifact Repository"
########################
# builder macros
########################
+- builder:
+ name: compass-copy-artifact
+ builders:
+ - copyartifact:
+ project: "genesis-compass-build"
+ filter: "$BUILD_DIRECTORY/compass.iso, $BUILD_DIRECTORY/opnfv.properties"
+ target: ./
+ which-build: upstream-build
+ optional: true
+ flatten: true
+ parameter-filters: PUBLISH=true
- builder:
@@ -280,7 +356,38 @@
set -o pipefail
# log info to console
- echo "Hello world!"
+ echo "Starting the build of $INSTALLER. This could take some time..."
+ echo "--------------------------------------------------------"
+ echo
+
+ # create the cache directory if it doesn't exist
+ [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+
+ # set OPNFV_ARTIFACT_VERSION
+ export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
+
+ # start the build
+ cd $WORKSPACE/$INSTALLER/ci
+ ./build.sh
+ mkdir $WORKSPACE/$BUILD_DIRECTORY
+ mv $WORKSPACE/$INSTALLER/ci/work/compass.iso $WORKSPACE/$BUILD_DIRECTORY/
+
+ # list the build artifacts
+ ls -al $WORKSPACE/$BUILD_DIRECTORY
+
+ # save information regarding artifact into file
+ (
+ echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
+ echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
+ echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
+ echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+ echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $WORKSPACE/$BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)"
+ echo "OPNFV_BUILD_URL=$BUILD_URL"
+ ) > $WORKSPACE/$BUILD_DIRECTORY/opnfv.properties
+
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
- builder:
name: 'compass-deploy'
@@ -333,14 +440,19 @@
# source the opnfv.properties to get ARTIFACT_VERSION
source $WORKSPACE/opnfv.properties
+ scp $WORKSPACE/compass.iso $INTERNAL_REPO/
+ scp $WORKSPACE/opnfv.properties $INTERNAL_REPO/
+ scp $WORKSPACE/compass.iso $INTERNAL_REPO/opnfv-$OPNFV_ARTIFACT_VERSION.iso
+
# upload artifact and additional files to google storage
- gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+ gsutil cp $WORKSPACE/compass.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
echo
echo "--------------------------------------------------------"
echo "Done!"
+ echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
- builder:
name: 'compass-download-artifact'