# this is the job configuration for bgs - project: name: genesis-fuel installer: - fuel jobs: - 'genesis-fuel-verify' - 'genesis-fuel-merge' - 'genesis-fuel-daily-{stream}' - 'genesis-fuel-build' - 'genesis-fuel-deploy' - 'genesis-fuel-test' # stream: branch with - in place of / (eg. stable-helium) # branch: branch (eg. stable/helium) stream: - master: branch: 'master' project: 'genesis' ######################## # job templates ######################## - job-template: name: 'genesis-fuel-verify' project-type: freestyle node: ericsson-build concurrent: true properties: - throttle: enabled: true max-total: 3 logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 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: 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' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - ssh-agent-credentials: user: '{ssh-credentials}' triggers: - gerrit: trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: 'genesis' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' file-paths: - compare-type: ANT pattern: 'common/**' - compare-type: ANT pattern: 'fuel/**' builders: - 'installer-build' - 'installer-cleanup' - job-template: name: 'genesis-fuel-merge' # builder-merge job to run JJB update # # This job's purpose is to update all the JJB project-type: freestyle node: ericsson-build concurrent: true properties: - throttle: enabled: true max-total: 2 logrotate: daysToKeep: 30 numToKeep: 40 artifactDaysToKeep: -1 artifactNumToKeep: 5 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: 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' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' choosing-strategy: 'default' wrappers: - ssh-agent-credentials: user: '{ssh-credentials}' triggers: - gerrit: trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: 'genesis' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' file-paths: - compare-type: ANT pattern: 'common/**' - compare-type: ANT pattern: 'fuel/**' builders: - 'installer-build' - 'installer-cleanup' - job-template: name: 'genesis-fuel-daily-{stream}' project-type: freestyle node: ericsson-build 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: GERRIT_BRANCH default: origin/master description: "Branch to build, deploy and test." - string: name: GERRIT_REFSPEC default: refs/heads/master description: "Refspec to retrieve." - 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: 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." - string: name: SKIP_BUILD default: 0 description: "Temporary parameter for deployment testing to skip the build and run deployment only." scm: - git: skip-tag: true url: $GIT_BASE branches: - $GERRIT_BRANCH refspec: $GERRIT_REFSPEC triggers: - pollscm: '@midnight' logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 builders: - 'installer-build' - 'installer-upload-artifact' - 'installer-deploy-quick-fix' - job-template: name: 'genesis-fuel-build' project-type: freestyle disabled: true node: ericsson-build 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: GERRIT_BRANCH default: origin/master description: "Branch to build, deploy and test." - string: name: GERRIT_REFSPEC default: refs/heads/master description: "Refspec to retrieve." - 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: 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." - string: name: SKIP_BUILD default: 0 description: "Temporary parameter for deployment testing to skip the build and run deployment only." scm: - git: skip-tag: true url: $GIT_BASE branches: - $GERRIT_BRANCH refspec: $GERRIT_REFSPEC logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x echo "Hello World!" - job-template: name: 'genesis-fuel-deploy' project-type: freestyle disabled: true node: opnfv-jump-1 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: GERRIT_BRANCH default: origin/master description: "Branch to build, deploy and test." - string: name: GERRIT_REFSPEC default: refs/heads/master description: "Refspec to retrieve." - 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: 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." - string: name: SKIP_BUILD default: 0 description: "Temporary parameter for deployment testing to skip the build and run deployment only." scm: - git: skip-tag: true url: $GIT_BASE branches: - $GERRIT_BRANCH refspec: $GERRIT_REFSPEC logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x echo "Hello World!" - job-template: name: 'genesis-fuel-test' project-type: freestyle disabled: false node: ericsson-test 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: GERRIT_BRANCH default: origin/master description: "Branch to build, deploy and test." - string: name: GERRIT_REFSPEC default: refs/heads/master description: "Refspec to retrieve." - 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: 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." - string: name: SKIP_BUILD default: 0 description: "Temporary parameter for deployment testing to skip the build and run deployment only." scm: - git: skip-tag: true url: $GIT_BASE branches: - $GERRIT_BRANCH refspec: $GERRIT_REFSPEC logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x echo "Hello World!" - builder: name: installer-build builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # this is here for quick tries with deployment SKIP_BUILD=${SKIP_BUILD-0} if [ "$SKIP_BUILD" == "1" ]; then echo "Skipping build for deployment testing!" exit 0 else echo "Proceeding with build first!" fi # set/create the cache location [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY # do the build cd $WORKSPACE/fuel/ci ./build.sh -v $ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY # list the build artifacts ls -al $BUILD_DIRECTORY - builder: name: installer-deploy-quick-fix builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # this is just a quick fix to execute the deployment in a messy way # will be fixed later on ssh -o BatchMode=yes -o TCPKeepAlive=yes cideploy@10.118.34.205 ./cideploy.sh - builder: name: installer-test builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # run FuncTest echo "Here is where we are supposed to run FuncTest" - builder: name: installer-upload-artifact builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # 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-$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-$ARTIFACT_VERSION.properties # copy artifact property file as latest.properties # so we can directly get info regarding latest artifact /bin/cp -f opnfv-$ARTIFACT_VERSION.properties latest.properties # upload artifact and additional files to google storage gsutil cp opnfv-$ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 gsutil cp opnfv-$ARTIFACT_VERSION.properties gs://$GS_URL/opnfv-$ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 gsutil cp latest.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 - builder: name: installer-download-artifact builders: - 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 $WORKSPACE/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 - 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