summaryrefslogtreecommitdiffstats
path: root/docs/jenkins-job-builder
diff options
context:
space:
mode:
authorAric Gardner <agardner@linuxfoundation.org>2015-08-26 16:00:02 -0400
committerAric Gardner <agardner@linuxfoundation.org>2015-08-26 16:07:17 -0400
commit1df5076a99b5b74a0e8500d4e69fdc109a8213bc (patch)
tree4b99bf8ad56da65f34a89ca1a935308b43306caa /docs/jenkins-job-builder
parent7f36eaadd656d27c095df4349b759b5eb5450016 (diff)
Adding initial docs, script and logic for releng project
Change-Id: Ie5bebf61b5f539d31c4c270b3f86b68b7a3ff2c9 Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Diffstat (limited to 'docs/jenkins-job-builder')
-rw-r--r--docs/jenkins-job-builder/index.rst23
-rw-r--r--docs/jenkins-job-builder/opnfv-jjb-usage.rst171
2 files changed, 194 insertions, 0 deletions
diff --git a/docs/jenkins-job-builder/index.rst b/docs/jenkins-job-builder/index.rst
new file mode 100644
index 000000000..c3dbbb811
--- /dev/null
+++ b/docs/jenkins-job-builder/index.rst
@@ -0,0 +1,23 @@
+.. OPNFV Release Engineering documentation, created by
+ sphinx-quickstart on Tue Jun 9 19:12:31 2015.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Release Engineering Project
+==================
+
+Contents:
+
+.. toctree::
+ :numbered:
+ :maxdepth: 8
+
+ opnfv-jjb-usage.rst
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
diff --git a/docs/jenkins-job-builder/opnfv-jjb-usage.rst b/docs/jenkins-job-builder/opnfv-jjb-usage.rst
new file mode 100644
index 000000000..aabfda7ae
--- /dev/null
+++ b/docs/jenkins-job-builder/opnfv-jjb-usage.rst
@@ -0,0 +1,171 @@
+Creating/Configuring/Verifying Jenkins Jobs
+============================================
+
+Clone the repo::
+
+ git clone ssh://YOU@gerrit.opnfv.org:29418/releng
+
+make changes::
+
+ git commit -sv
+ git review
+ remote: Resolving deltas: 100% (3/3)
+ remote: Processing changes: new: 1, refs: 1, done
+ remote:
+ remote: New Changes:
+ remote: https://gerrit.opnfv.org/gerrit/51
+ remote:
+ To ssh://agardner@gerrit.opnfv.org:29418/releng.git
+ * [new branch] HEAD -> refs/publish/master
+
+Follow the link to gerrit https://gerrit.opnfv.org/gerrit/51 in a few moments the verify job will have completed and you will see Verified +1 jenkins-ci in the gerrit ui.
+
+If the changes pass the verify job https://build.opnfv.org/ci/view/builder/job/builder-verify-jjb/ The patch can be submitited by a committer.
+
+Job Types
+
+* Verify Job
+
+ * Trigger: **recheck** or **reverify**
+
+* Merge Job
+
+ * Trigger: **remerge**
+
+The verify and merge jobs are retriggerable in Gerrit by simply leaving a comment with one of the keywords listed above. This is useful in case you need to re-run one of those jobs in case if build issues or something changed with the environment.
+
+You can add below persons as reviewers to your patch in order to get it reviewed and submitted.
+
+* Ulrich Kleber (Ulrich.Kleber@huawei.com)
+* Fatih Degirmenci (fatih.degirmenci@ericsson.com)
+* Xinyu Zhao(Jerry) (zhaoxinyu@huawei.com)
+
+Or just email a request for submission to opnfv-helpdesk@rt.linuxfoundation.org
+
+The Current merge and verify jobs for jenkins job builder as pulled from the repo::
+
+ - project:
+ name: builder-jobs
+ jobs:
+ - 'builder-verify-jjb'
+ - 'builder-merge'
+
+ project: 'releng'
+
+ - job-template:
+ name: builder-verify-jjb
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 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: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: jjb-templates/**
+
+
+ builders:
+ - shell: |
+ source /opt/virtualenv/jenkins-job-builder/bin/activate
+ jenkins-jobs test /opt/jenkins-ci/builder/
+
+ - job-template:
+ name: 'builder-merge'
+
+ # builder-merge job to run JJB update
+ #
+ # This job's purpose is to update all the JJB
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 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: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+
+ builders:
+ - shell: |
+ source /opt/virtualenv/jenkins-job-builder/bin/activate
+ cd /opt/jenkins-ci/releng
+ git pull
+ jenkins-jobs update --delete-old jjb/
+
+
+
+**Documentation tracking**
+
+Revision: _sha1_
+
+Build date: _date_