summaryrefslogtreecommitdiffstats
path: root/jjb/genesis
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/genesis')
-rw-r--r--jjb/genesis/genesis-foreman.yml150
1 files changed, 44 insertions, 106 deletions
diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml
index 3d98437d3..5d9720e13 100644
--- a/jjb/genesis/genesis-foreman.yml
+++ b/jjb/genesis/genesis-foreman.yml
@@ -171,32 +171,8 @@
node: ericsson-build
parameters:
- - string:
- name: INSTALLER
- default: '{installer}'
- description: "Installer to use."
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: '$HOME/opnfv/cache/genesis-{installer}'
- - string:
- name: GS_URL
- default: 'artifacts.opnfv.org/genesis/{installer}'
- description: "URL to Google Storage."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/genesis
- - string:
- name: GERRIT_BRANCH
- default: origin/master
- description: "Branch to build, deploy and test."
- - string:
- name: GERRIT_REFSPEC
- default: refs/heads/master
- description: "Refspec to retrieve."
+ - genesis-parameters:
+ installer: '{installer}'
scm:
- git:
@@ -216,8 +192,10 @@
artifactNumToKeep: -1
builders:
- - 'daily-master'
-
+ - trigger-builds:
+ - project: 'genesis-{installer}-build'
+ git-revision: true
+ block: true
- job-template:
name: 'genesis-{installer}-build'
@@ -396,7 +374,7 @@
/bin/rm -rf $BUILD_DIRECTORY
- builder:
- name: 'daily-master'
+ name: 'build'
builders:
- shell: |
#!/bin/bash
@@ -405,79 +383,38 @@
set -o pipefail
set -x
- # get the dependencies - temporary fix for RC0
- [[ -d $WORKSPACE/$INSTALLER/build ]] || mkdir -p $WORKSPACE/$INSTALLER/build
- cp /home/jenkins/Downloads/opnfv_iso/* $WORKSPACE/$INSTALLER/build/
-
- # below lines perhaps need to be enabled in order to fetch images from internet
- # as we are having disk space issues on ericsson-build slave
- #wget http://ftp.riken.jp/Linux/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-Minimal.iso
- #wget http://download.virtualbox.org/virtualbox/rpm/fedora/20/x86_64/VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm
- #wget http://repos.duss-janser.ch/vagrant/vagrant_1.7.2_x86_64.rpm
+ # log info to console
+ echo "Starting build of $INSTALLER. This could take some time..."
+ echo "--------------------------------------------------------"
+ echo
- # do the build
- cd $WORKSPACE/$INSTALLER/ci
- ./build.sh -v $BUILD_ID $BUILD_DIRECTORY
-
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
- set -x
+ # create the cache directory if it doesn't exist
+ [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
- # list the build artifacts
- ls -al $BUILD_DIRECTORY
+ # set ARTIFACT_VERSION
+ export ARTIFACT_VERSION=$(date +"%Y-%m-%d_%H-%M-%S")
- cd $BUILD_DIRECTORY
+ # start the build
+ cd $WORKSPACE/$INSTALLER/ci
+ ./build.sh -v $ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
# save information regarding artifact into file
(
+ echo "OPNFV_ARTIFACT_VERSION=$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-$BUILD_ID.iso"
+ echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$ARTIFACT_VERSION.iso"
echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum opnfv-$ARTIFACT_VERSION.iso | cut -d' ' -f1)"
echo "OPNFV_BUILD_URL=$BUILD_URL"
echo "OPNFV_BUILD=OK"
- ) > opnfv-$BUILD_ID.properties
+ ) > $WORKSPACE/opnfv.properties
- # copy artifact property file as latest.properties
- # so we can directly get info regarding latest artifact
- /bin/cp -f opnfv-$BUILD_ID.properties latest.properties
-
- # upload artifact and additional files to google storage
- gsutil cp OPNFV-CentOS-7-x86_64-$BUILD_ID.iso gs://$GS_URL/opnfv-$BUILD_ID.iso
- gsutil cp opnfv-$BUILD_ID.properties gs://$GS_URL/opnfv-$BUILD_ID.properties
- gsutil cp latest.properties gs://$GS_URL/latest.properties
-
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
- set -x
-
- # get the latest.properties file in order to get info regarding latest artifact
- gsutil cp gs://$GS_URL/latest.properties latest.properties
-
- # check if we got the file
- [[ -f latest.properties ]] || exit 1
-
- # source the file so we get OPNFV vars
- source latest.properties
-
- # download the file
- gsutil cp gs://$OPNFV_ARTIFACT_URL $WORKSPACE/opnfv.iso
-
- # list the file
- ls -al $WORKSPACE/opnfv.iso
-
- # remove the BUILD_DIRECTORY and downlaoded artifact to reclaim some space
- /bin/rm -rf $BUILD_DIRECTORY
- /bin/rm -rf $WORKSPACE/opnfv.iso
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
- builder:
- name: 'build'
+ name: 'upload-artifact'
builders:
- shell: |
#!/bin/bash
@@ -486,28 +423,29 @@
set -o pipefail
set -x
- # create the cache directory if it doesn't exist
- [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+ # log info to console
+ echo "Uploading artifact. This could take some time..."
+ echo "--------------------------------------------------------"
+ echo
- # set ARTIFACT_VERSION
- export ARTIFACT_VERSION=$(date +"%Y-%m-%d_%H-%M-%S")
+ # list the build output
+ ls -al $BUILD_DIRECTORY
- # start the build
- cd $WORKSPACE/$INSTALLER/ci
- ./build.sh -v $ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
+ # source the opnfv.properties to get ARTIFACT_VERSION
+ source $WORKSPACE/opnfv.properties
-- builder:
- name: 'upload-artifact'
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
- set -x
+ # copy artifact property file as latest.properties
+ # so we can directly get info regarding latest artifact
+ /bin/cp -f $WORKSPACE/opnfv.properties $WORKSPACE/latest.properties
- # list the build output
- ls -al $BUILD_DIRECTORY
+ # upload artifact and additional files to google storage
+ echo "gsutil cp $BUILD_DIRECTORY/OPNFV-CentOS-7-x86_64-$ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$ARTIFACT_VERSION.iso"
+ echo "gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$ARTIFACT_VERSION.properties"
+ echo "gsutil cp $WORKSPACE/latest.properties gs://$GS_URL/latest.properties"
+
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
- builder:
name: 'deploy'