summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2015-04-15 14:30:27 +0200
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2015-04-15 14:31:58 +0200
commit084c5fb97d4417f0d61d58f5707396acdd8766a0 (patch)
treecf3bcb44e9fc93372f015f43b332fdf20b559ca9
parentfb3f14fe6ff5ff200aeb416ccbf25727297048ef (diff)
Convert execute shell parts to macros and unify parameters
Implement first step of having subjobs running build, deploy, and test in scope of daily runs. JIRA: OCTO-3 Change-Id: I35a53fc57218e319239ffeee164309fc451d90a7 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
-rw-r--r--jjb/genesis/genesis-fuel.yml183
1 files changed, 116 insertions, 67 deletions
diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml
index 2416cd8d9..d8d20fc8a 100644
--- a/jjb/genesis/genesis-fuel.yml
+++ b/jjb/genesis/genesis-fuel.yml
@@ -27,7 +27,7 @@
project-type: freestyle
- node: gce-opnfv-docker-1
+ node: ericsson-build
logrotate:
daysToKeep: 30
@@ -37,13 +37,25 @@
parameters:
- string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/genesis
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ - string:
+ name: GS_URL
+ default: 'artifacts.opnfv.org/genesis/fuel'
+ description: "URL to Google Storage."
+ - 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: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/genesis
- - project-parameter:
- project: '{project}'
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/genesis-fuel
+ description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+ - string:
+ name: ARTIFACT_VERSION
+ default: $BUILD_ID
+ description: "Version number to append to resulting ISO."
- gerrit-parameter:
branch: 'master'
@@ -83,7 +95,8 @@
builders:
- - 'fuel-verify'
+ - 'installer-build'
+ - 'installer-cleanup'
- job-template:
name: 'genesis-fuel-merge'
@@ -94,7 +107,7 @@
project-type: freestyle
- node: gce-opnfv-docker-1
+ node: ericsson-build
logrotate:
daysToKeep: 30
@@ -104,13 +117,25 @@
parameters:
- string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/genesis
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ - string:
+ name: GS_URL
+ default: 'artifacts.opnfv.org/genesis/fuel'
+ description: "URL to Google Storage."
+ - 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: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/genesis
- - project-parameter:
- project: '{project}'
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/genesis-fuel
+ description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+ - string:
+ name: ARTIFACT_VERSION
+ default: $BUILD_ID
+ description: "Version number to append to resulting ISO."
- gerrit-parameter:
branch: 'master'
@@ -143,39 +168,37 @@
pattern: 'fuel/**'
builders:
- - 'fuel-merge'
+ - 'installer-build'
+ - 'installer-cleanup'
- job-template:
name: 'genesis-fuel-daily-{stream}'
project-type: freestyle
- node: gce-opnfv-docker-1
+ node: ericsson-build
parameters:
- string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/genesis
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- string:
name: GS_URL
default: 'artifacts.opnfv.org/genesis/fuel'
description: "URL to Google Storage."
- string:
- name: INSTALLER
- default: 'fuel'
- description: "Installer to use."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/genesis
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
- string:
- name: GERRIT_BRANCH
- default: origin/master
- description: "Branch to build, deploy and test."
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/genesis-fuel
+ description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
- string:
- name: GERRIT_REFSPEC
- default: refs/heads/master
- description: "Refspec to retrieve."
+ name: ARTIFACT_VERSION
+ default: $BUILD_ID
+ description: "Version number to append to resulting ISO."
scm:
- git:
@@ -195,11 +218,16 @@
artifactNumToKeep: -1
builders:
- - 'fuel-daily-master'
+ - 'installer-build'
+ - 'installer-upload-artifact'
+ - 'installer-download-artifact'
+ - 'installer-deploy'
+ - 'installer-test'
+ - 'installer-cleanup'
- builder:
- name: fuel-verify
+ name: installer-build
builders:
- shell: |
#!/bin/bash
@@ -209,21 +237,17 @@
set -x
# set/create the cache location
- OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
- [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+ [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
# do the build
cd $WORKSPACE/fuel/ci
- ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+ ./build.sh -v $ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
# list the build artifacts
ls -al $BUILD_DIRECTORY
- # remove the BUILD_DIRECTORY to reclaim some space
- /bin/rm -rf $BUILD_DIRECTORY
-
- builder:
- name: fuel-merge
+ name: installer-deploy
builders:
- shell: |
#!/bin/bash
@@ -232,22 +256,39 @@
set -o pipefail
set -x
- # set/create the cache location
- OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
- [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+ # we should have the artifact itself downloaded by now
+ # look if it is there
+ if [ -f $WORKSPACE/opnfv.iso ]; then
+ echo "Artifact fetched!"
+ ls -al $WORKSPACE/opnfv.iso
+ else
+ echo "Artifact does not exist!"
+ exit 1
+ fi
+
+ # we should have the artifact properties file downloaded by now
+ # look if it is there
+ if [ -f $WORKSPACE/latest.properties ]; then
+ echo "Artifact properties file fetched!"
+ ls -al $WORKSPACE/latest.properties
+ else
+ echo "Artifact properties file does not exist!"
+ exit 1
+ fi
- # do the build
- cd $WORKSPACE/fuel/ci
- ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+ # source the file so we get OPNFV vars
+ source $WORKSPACE/latest.properties
- # list the build artifacts
- ls -al $BUILD_DIRECTORY
+ # log the info
+ echo "Proceeding with deployment using ISO downloaded from below URL"
+ echo "$OPNFV_ARTIFACT_URL"
+ echo "This artifact was built using $OPNFV_GIT_SHA1 version of repo $OPNFV_GIT_URL"
- # remove the BUILD_DIRECTORY to reclaim some space
- /bin/rm -rf $BUILD_DIRECTORY
+ # execute deploy.sh
+ echo "Here is where we are supposed to issue deploy.sh"
- builder:
- name: fuel-daily-master
+ name: installer-test
builders:
- shell: |
#!/bin/bash
@@ -256,14 +297,12 @@
set -o pipefail
set -x
- # set/create the cache location
- OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
- [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
- # do the build
- cd $WORKSPACE/fuel/ci
- ./build.sh -f t -v $BUILD_ID -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+ # run FuncTest
+ echo "Here is where we are supposed to run FuncTest"
+- builder:
+ name: installer-upload-artifact
+ builders:
- shell: |
#!/bin/bash
set -o errexit
@@ -271,29 +310,30 @@
set -o pipefail
set -x
- # list the build artifacts
- ls -al $BUILD_DIRECTORY
-
+ # change the build directory where ISO is created
cd $BUILD_DIRECTORY
# save information regarding artifact into file
(
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_BUILD_URL=$BUILD_URL"
echo "OPNFV_BUILD=OK"
- ) > opnfv-$BUILD_ID.properties
+ ) > opnfv-$ARTIFACT_VERSION.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
+ /bin/cp -f opnfv-$ARTIFACT_VERSION.properties latest.properties
# upload artifact and additional files to google storage
- gsutil cp opnfv-$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 opnfv-$ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$ARTIFACT_VERSION.iso
+ gsutil cp opnfv-$ARTIFACT_VERSION.properties gs://$GS_URL/opnfv-$ARTIFACT_VERSION.properties
gsutil cp latest.properties gs://$GS_URL/latest.properties
+- builder:
+ name: installer-download-artifact
+ builders:
- shell: |
#!/bin/bash
set -o errexit
@@ -302,7 +342,7 @@
set -x
# get the latest.properties file in order to get info regarding latest artifact
- gsutil cp gs://$GS_URL/latest.properties latest.properties
+ gsutil cp gs://$GS_URL/latest.properties $WORKSPACE/latest.properties
# check if we got the file
[[ -f latest.properties ]] || exit 1
@@ -316,6 +356,15 @@
# 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
+- builder:
+ name: installer-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ set -x
+
+ # delete everything that is in $WORKSPACE
+ /bin/rm -rf $WORKSPACE