jobs:
- 'compass-verify'
- - 'compass-upload-iso'
+ - 'compass-verify-on-ericsson-node'
- 'compass-merge'
- 'compass-daily-{stream}'
+ - 'compass-build-iso'
- 'compass-build'
- 'compass-deploy-virtual-{flavor}'
flavor:
- five:
- conf: 'five'
+ conf: 'virtual_five'
node: 'huawei-build'
- cluster:
- conf: 'cluster'
+ conf: 'virtual_cluster'
node: 'huawei-build'
# job templates
########################
- job-template:
- name: 'compass-upload-iso'
+ name: 'compass-verify-on-ericsson-node'
+
project-type: freestyle
- disabled: false
- node: master
+ disabled: true
+
+ node: ericsson-build
logrotate:
daysToKeep: 30
parameters:
- project-parameter:
project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
- compass-parameter:
- installer: '{installer}'
+ installer: '{installer}'
+
+ 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+
builders:
- - 'compass-copy-artifact'
- - 'compass-upload-artifact'
+ - 'builder-compass-build-iso'
+ - 'builder-compass-workspace-cleanup'
- job-template:
name: 'compass-verify'
branch: 'master'
- compass-parameter:
installer: '{installer}'
-
+ - string:
+ name: FLAVOR_CONF
+ default: 'virtual_cluster'
+ description: ""
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/master'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
builders:
- - 'compass-build'
- #- 'compass-workspace-cleanup'
+ - 'builder-compass-build-iso'
+# - 'builder-compass-deploy-virtual-flavor'
+# - 'builder-compass-backup-logs'
+# publishers:
+# - archive:
+# artifacts: 'ansible.log'
+# allow-empty: 'true'
+# fingerprint: true
- job-template:
name: 'compass-merge'
branch: 'master'
- compass-parameter:
installer: '{installer}'
+
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
- branch-compare-type: 'ANT'
branch-pattern: '**/master'
builders:
- - 'compass-merge'
+ - 'builder-compass-merge'
- job-template:
name: 'compass-daily-{stream}'
artifactNumToKeep: -1
builders:
- #- 'compass-build'
- #- 'compass-upload-artifact'
- #- 'compass-workspace-cleanup'
+ #- 'builder-compass-build-iso'
+ #- 'builder-compass-upload-artifact'
+ #- 'builder-compass-workspace-cleanup'
- shell: |
echo "Hello world!"
echo "compass-deploy-virtual job will be triggered!"
publishers:
- trigger:
- project: 'compass-deploy-virtual-five'
+ project: 'compass-build'
threshold: SUCCESS
- trigger:
project: 'compass-deploy-virtual-cluster'
threshold: SUCCESS
+- job-template:
+ name: 'compass-build-iso'
+
+ project-type: freestyle
+
+ node: ericsson-build
+
+ 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:
+ - 'builder-compass-build-iso'
+ - 'builder-compass-upload-artifact'
+ - 'builder-compass-workspace-cleanup'
+
- job-template:
name: 'compass-build'
+ description: "build ppa(using docker) in huawei lab"
+
project-type: freestyle
node: huawei-build
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: 'compass-upload-iso'
- threshold: SUCCESS
+ - 'builder-compass-make-ppa'
+ - trigger-builds:
+ - project: 'compass-build-iso'
+ git-revision: true
+ block: true
- job-template:
name: 'compass-deploy-virtual-{flavor}'
artifactNumToKeep: -1
builders:
- - 'compass-ci-preclean-workspace'
- - 'compass-deploy-virtual-flavor'
+ - 'builder-compass-ci-preclean-workspace'
+ - 'builder-compass-download-artifact'
+ - 'builder-compass-deploy-virtual-flavor'
+ - 'builder-compass-backup-logs'
+ publishers:
+ - archive:
+ artifacts: 'ansible.log'
+ allow-empty: 'true'
+ fingerprint: true
########################
# parameter macros
description: "Installer to use."
- string:
name: BUILD_DIRECTORY
- default: build_output
+ 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/$INSTALLER
+ default: $HOME/opnfv/cache/$PROJECT
description: "Directory where the cache to be used during the build is located."
- string:
name: GIT_BASE
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/$PROJECT/$INSTALLER
+ default: artifacts.opnfv.org/$PROJECT/
description: "URL to Google Storage."
- string:
- name: INTERNAL_REPO
+ name: GS_URL_PROXY
+ default: build.opnfv.org/artifacts/$PROJECT/
+ description: "URL to Google Storage proxy"
+ - string:
+ name: INTERNAL_REPO_XA
default: "root@192.168.127.11:~/xh/work/build/work"
description: "Artifact Repository"
+
+ - string:
+ name: installer_ip
+ default: "10.1.0.12"
+ - string:
+ name: PPA_REPO
+ default: "http://58.251.166.184:9999"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
+
########################
# builder macros
########################
- builder:
- name: compass-copy-artifact
+ name: 'builder-compass-merge'
builders:
- - copyartifact:
- project: "compass-build"
- filter: "$BUILD_DIRECTORY/compass.iso, $BUILD_DIRECTORY/opnfv.properties"
- target: ./
- which-build: upstream-build
- optional: true
- flatten: true
- parameter-filters: PUBLISH=true
-
+ - shell: |
+ #!/bin/bash
+ echo "Hello World!"
- builder:
- name: compass-merge
+ name: 'builder-compass-make-ppa'
builders:
- shell: |
#!/bin/bash
- echo "Hello World!"
-
+ set -x
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ # make ppa
+ cd $WORKSPACE/
+ ./build/make_repo.sh
+ # calc MD5 of ppa
+ cd $PPA_CACHE
+ for i in `find *.gz *.iso *.img -type f`
+ do
+ md5=`md5sum $i | cut -d ' ' -f1`
+ echo $md5 > $i.md5
+ done
+ # upload PPA
+ for i in `find *.* -type f`
+ do
+ curl -T $i $PPA_REPO
+ done
- builder:
- name: 'compass-build'
+ name: 'builder-compass-build-iso'
builders:
- shell: |
#!/bin/bash
# create the cache directory if it doesn't exist
[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+ [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
# set OPNFV_ARTIFACT_VERSION
export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
# start the build
- cd $WORKSPACE/ci
- ./build.sh
- mkdir $WORKSPACE/$BUILD_DIRECTORY
- mv $WORKSPACE/ci/work/compass.iso $WORKSPACE/$BUILD_DIRECTORY/
+ if [ -d $PPA_CACHE ]
+ then
+ cp $PPA_CACHE/*.tar.gz $PPA_CACHE/*.iso $PPA_CACHE/*.img $CACHE_DIRECTORY/ -f
+ fi
+
+ cd $WORKSPACE/
+ ./build.sh --iso-dir $BUILD_DIRECTORY/ --iso-name compass.iso -c $CACHE_DIRECTORY
# list the build artifacts
- ls -al $WORKSPACE/$BUILD_DIRECTORY
+ ls -al $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-$OPNFV_ARTIFACT_VERSION.iso"
- echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $WORKSPACE/$BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)"
+ echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)"
echo "OPNFV_BUILD_URL=$BUILD_URL"
- ) > $WORKSPACE/$BUILD_DIRECTORY/opnfv.properties
-
+ ) > $BUILD_DIRECTORY/opnfv.properties
echo
echo "--------------------------------------------------------"
echo "Done!"
- builder:
- name: 'compass-deploy'
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # log info to console
- echo "Hello world!"
-
-- builder:
- name: 'compass-deploy-virtual-flavor'
+ name: 'builder-compass-deploy-virtual-flavor'
builders:
- shell: |
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
+ set -x
# log info to console
echo "Starting the deployment on virtual environment using $INSTALLER. This could take some time..."
echo "--------------------------------------------------------"
echo
+ export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
cd $WORKSPACE
- ./ci/deploy.sh $FLAVOR_CONF
- # ssh -o BatchMode=yes -o TCPKeepAlive=yes cideploy@10.118.34.205 ./cideploy.sh
+ ./deploy.sh $FLAVOR_CONF
echo
echo "--------------------------------------------------------"
echo "Done!"
- builder:
- name: 'compass-upload-artifact'
+ name: 'builder-compass-upload-artifact'
builders:
- shell: |
#!/bin/bash
echo
# 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
+ source $BUILD_DIRECTORY/opnfv.properties
# upload artifact and additional files to google storage
- 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
+ gsutil cp $BUILD_DIRECTORY/compass.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+ gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
+ gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+
echo
echo "--------------------------------------------------------"
echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
- builder:
- name: 'compass-download-artifact'
+ name: 'builder-compass-download-artifact'
builders:
- shell: |
#!/bin/bash
source latest.properties
# download the file
- curl -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
+ curl -s -o $WORKSPACE/compass.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
# list the file
- ls -al $WORKSPACE/opnfv.iso
+ ls -al $WORKSPACE/compass.iso
echo
echo "--------------------------------------------------------"
echo "Done!"
- builder:
- name: 'compass-workspace-cleanup'
+ name: 'builder-compass-workspace-cleanup'
builders:
- shell: |
#!/bin/bash
/bin/rm -rf $WORKSPACE
- builder:
- name: 'compass-ci-preclean-workspace'
+ name: 'builder-compass-ci-preclean-workspace'
builders:
- shell: |
#!/bin/bash
sudo rm $WORKSPACE -rf
git clone $GIT_BASE $WORKSPACE
+- builder:
+ name: 'builder-compass-backup-logs'
+ builders:
+ - shell: |
+ ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+ sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:/var/ansible/run/openstack_juno-opnfv2/ansible.log ./ &> /dev/null