summaryrefslogtreecommitdiffstats
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
parent7f36eaadd656d27c095df4349b759b5eb5450016 (diff)
Adding initial docs, script and logic for releng project
Change-Id: Ie5bebf61b5f539d31c4c270b3f86b68b7a3ff2c9 Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
-rw-r--r--docs/etc/conf.py34
-rw-r--r--docs/jenkins-job-builder/index.rst23
-rw-r--r--docs/jenkins-job-builder/opnfv-jjb-usage.rst171
-rwxr-xr-xjjb/releng/docu-build-new.sh31
-rw-r--r--jjb/releng/releng.yml4
5 files changed, 261 insertions, 2 deletions
diff --git a/docs/etc/conf.py b/docs/etc/conf.py
new file mode 100644
index 000000000..486983f19
--- /dev/null
+++ b/docs/etc/conf.py
@@ -0,0 +1,34 @@
+import datetime
+import sys
+import os
+
+try:
+ __import__('imp').find_module('sphinx.ext.numfig')
+ extensions = ['sphinx.ext.numfig']
+except ImportError:
+ # 'pip install sphinx_numfig'
+ extensions = ['sphinx_numfig']
+
+# numfig:
+number_figures = True
+figure_caption_prefix = "Fig."
+
+source_suffix = '.rst'
+master_doc = 'index'
+pygments_style = 'sphinx'
+html_use_index = False
+
+pdf_documents = [('index', u'Copper', u'Copper Project', u'OPNFV')]
+pdf_fit_mode = "shrink"
+pdf_stylesheets = ['sphinx','kerning','a4']
+#latex_domain_indices = False
+#latex_use_modindex = False
+
+latex_elements = {
+ 'printindex': '',
+}
+
+project = u'Copper: Virtual Infrastructure Deployment Policies'
+copyright = u'%s, OPNFV' % datetime.date.today().year
+version = u'1.0.0'
+release = u'1.0.0' \ No newline at end of file
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_
diff --git a/jjb/releng/docu-build-new.sh b/jjb/releng/docu-build-new.sh
new file mode 100755
index 000000000..0062f8e17
--- /dev/null
+++ b/jjb/releng/docu-build-new.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+clean() {{
+if [[ -d docs/output ]]; then
+rm -rf docs/output
+echo "cleaning up output directory"
+fi
+}}
+
+trap clean EXIT TERM INT SIGTERM SIGHUP
+
+directories=()
+while read -d $'\n'; do
+ directories+=("$REPLY")
+done < <(find docs/ -name 'index.rst' -printf '%h\n' | sort -u )
+
+for dir in "${{directories[@]}}"; do
+echo
+echo "#############################"
+echo "Building DOCS in ${{dir##*/}}"
+echo "#############################"
+echo
+
+if [[ ! -d docs/output/"${{dir##*/}}/" ]]; then
+ mkdir -p docs/output/"${{dir##*/}}/"
+fi
+
+sphinx-build -b html -E -c docs/etc/ ""$dir"/" docs/output/"${{dir##*/}}/"
+
+done
+
diff --git a/jjb/releng/releng.yml b/jjb/releng/releng.yml
index 40e5b6650..c24fcb065 100644
--- a/jjb/releng/releng.yml
+++ b/jjb/releng/releng.yml
@@ -77,5 +77,5 @@
pattern: 'jjb/**'
builders:
- - shell: |
- echo "Documentation generation logic goes here"
+ - shell:
+ !include-raw docu-build-new.sh