From: Ken Dreyer Date: Mon, 5 Oct 2015 20:50:56 +0000 (-0600) Subject: jjb: rename to "jenkins-job-builder" X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=406eb36600ca2ed5f00a0b3c587b951ea92280fb;p=ceph-build.git jjb: rename to "jenkins-job-builder" Rename this job's configuration to match its job name. --- diff --git a/ansible/roles/ansible-jenkins/files/jobs/jenkins-job-builder/config.xml b/ansible/roles/ansible-jenkins/files/jobs/jenkins-job-builder/config.xml index 336b140a..3f75ff98 100644 --- a/ansible/roles/ansible-jenkins/files/jobs/jenkins-job-builder/config.xml +++ b/ansible/roles/ansible-jenkins/files/jobs/jenkins-job-builder/config.xml @@ -62,7 +62,7 @@ - bash jjb/config/config + bash jenkins-job-builder/config/config diff --git a/jenkins-job-builder/config/config b/jenkins-job-builder/config/config new file mode 100644 index 00000000..b0b03ea6 --- /dev/null +++ b/jenkins-job-builder/config/config @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# +# This script uses Jenkins Job Builder to generate the configuration for its own +# job so that it automatically configures all other jobs that have their YAML +# definitions. +# + +set -ex + +# Create the virtualenv +virtualenv venv +. venv/bin/activate + +# Define and ensure the PIP cache +PIP_SDIST_INDEX="$HOME/.cache/pip" +mkdir -p $PIP_SDIST_INDEX + +# Install the package by trying with the cache first, otherwise doing a download only, and then +# trying to install from the cache again. +if ! venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder; then + venv/bin/pip install --download-directory="$PIP_SDIST_INDEX" jenkins-job-builder + venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder +fi + +# Test every definition if available in the current repository and update the jobs +# if they do define one (they should always define their definitions) +for dir in `find . -maxdepth 1 -path ./.git -prune -o -type d -print`; do + definitions_dir="$dir/config/definitions" + if [ -d "$definitions_dir" ]; then + echo "found definitions directory: $definitions_dir" + + # Test the definitions first + venv/bin/jenkins-jobs test $definitions_dir -o /tmp/output + + # Update Jenkins with the output if they passed the test phase + # Note that this needs proper permissions with the right credentials to the + # correct Jenkins instance. + venv/bin/jenkins-jobs update $definitions_dir + fi +done diff --git a/jenkins-job-builder/config/definitions/jjb.yml b/jenkins-job-builder/config/definitions/jjb.yml new file mode 100644 index 00000000..076b92fa --- /dev/null +++ b/jenkins-job-builder/config/definitions/jjb.yml @@ -0,0 +1,28 @@ +- job: + name: jenkins-job-builder + node: trusty + project-type: freestyle + defaults: global + disabled: false + display-name: 'Jenkins Job Builder' + concurrent: true + quiet-period: 5 + block-downstream: false + block-upstream: false + retry-count: 3 + + triggers: + - pollscm: "H */3 * * *" + - github + + scm: + - git: + url: https://github.com/ceph/ceph-build.git + branches: + - master + browser: githubweb + browser-url: http://github.com/ceph/ceph-build.git + timeout: 20 + + builders: + - shell: "bash jenkins-job-builder/config/config" diff --git a/jjb/config/config b/jjb/config/config deleted file mode 100644 index b0b03ea6..00000000 --- a/jjb/config/config +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# -# This script uses Jenkins Job Builder to generate the configuration for its own -# job so that it automatically configures all other jobs that have their YAML -# definitions. -# - -set -ex - -# Create the virtualenv -virtualenv venv -. venv/bin/activate - -# Define and ensure the PIP cache -PIP_SDIST_INDEX="$HOME/.cache/pip" -mkdir -p $PIP_SDIST_INDEX - -# Install the package by trying with the cache first, otherwise doing a download only, and then -# trying to install from the cache again. -if ! venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder; then - venv/bin/pip install --download-directory="$PIP_SDIST_INDEX" jenkins-job-builder - venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder -fi - -# Test every definition if available in the current repository and update the jobs -# if they do define one (they should always define their definitions) -for dir in `find . -maxdepth 1 -path ./.git -prune -o -type d -print`; do - definitions_dir="$dir/config/definitions" - if [ -d "$definitions_dir" ]; then - echo "found definitions directory: $definitions_dir" - - # Test the definitions first - venv/bin/jenkins-jobs test $definitions_dir -o /tmp/output - - # Update Jenkins with the output if they passed the test phase - # Note that this needs proper permissions with the right credentials to the - # correct Jenkins instance. - venv/bin/jenkins-jobs update $definitions_dir - fi -done diff --git a/jjb/config/definitions/jjb.yml b/jjb/config/definitions/jjb.yml deleted file mode 100644 index fb678b71..00000000 --- a/jjb/config/definitions/jjb.yml +++ /dev/null @@ -1,28 +0,0 @@ -- job: - name: jenkins-job-builder - node: trusty - project-type: freestyle - defaults: global - disabled: false - display-name: 'Jenkins Job Builder' - concurrent: true - quiet-period: 5 - block-downstream: false - block-upstream: false - retry-count: 3 - - triggers: - - pollscm: "H */3 * * *" - - github - - scm: - - git: - url: https://github.com/ceph/ceph-build.git - branches: - - master - browser: githubweb - browser-url: http://github.com/ceph/ceph-build.git - timeout: 20 - - builders: - - shell: "bash jjb/config/config"