diff options
-rw-r--r-- | README | 56 | ||||
-rw-r--r-- | TODO | 63 | ||||
-rwxr-xr-x | update_jdn.sh | 10 | ||||
-rw-r--r-- | userContent/theme/asciidoc.css | 531 | ||||
-rw-r--r-- | userContent/theme/debian-asciidoc.css | 61 |
5 files changed, 672 insertions, 49 deletions
@@ -0,0 +1,56 @@ +About jenkins.debian.net +======================== +:Author: Holger Levsen +:Authorinitials: holger +:EMail: holger@layer-acht.org +:Status: in progress +:lang: en +:Doctype: article +:Licence: GPLv2 + +== About jenkins.debian.net + +* http://jenkins.debian.net is pretty much work in progress, (hopefully) doing something useful since October 15th 2012. +* Join #debian-qa on irc.debian.org to report bugs or give other feedback! Use debian-qa@lists.debian.org if you prefer mail. +* 'git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git' +* (virtual) hardware sponsored by http://www.profitbricks.com - currently it's just a server, but in future there will be installation and tests clients started on demand as well. +* some stats are available at http://jenkins.debian.net/munin/jenkins-month.html + +== Jobs being run + +=== chroot-tests jobs + +* FIXME: describe them + +=== debian-installer jobs + +* FIXME: describe them + +=== webcheck jobs + +* FIXME: describe them + +== ToDo + +* There is still of work left, check the current link:http://jenkins.debian.net/userContent/todo.html[ToDo list]. + +== Setup + +=== Installed software that makes jenkins.debian.net run + +* jenkins.debian.net runs Debian wheezy. +* FIXME: describe how jenkins is installed + configured, basically put 'deb http://pkg.jenkins-ci.org/debian-stable binary/' into '/etc/apt/sources.list.d/jenkins.list' and `apt-get update` +* needed packages are listed in 'update_jdn.sh' and which will also make sure they are installed +** 'update_jdn.sh' is available in the git repo +* package configuration is kept in that git repo and deployed by 'update_jdn.sh' as well. + +=== Installing jenkins-job-builder +* rebuild python-jenkinsapi from sid for wheezy: +* `pip install python-jenkins` +* `git clone https://github.com/openstack-ci/jenkins-job-builder ; cd jenkins-job-builder ; python setup.py install` +** actually https://github.com/h01ger/jenkins-job-builder is used atm. + +=== Using jenkins-job-builder + +* then run `cd /srv/jenkins/job-cfg ; jenkins-jobs update .` to update jobs +* testing: `cd /srv/jenkins/job-cfg ; rm test-output/ -r ; mkdir test-output ; jenkins-jobs test . -o test-output/ ; ls test-output/` @@ -1,5 +1,5 @@ -About jenkins.debian.net -======================== +ToDo for jenkins.debian.net +=========================== :Author: Holger Levsen :Authorinitials: holger :EMail: holger@layer-acht.org @@ -10,19 +10,27 @@ About jenkins.debian.net == About jenkins.debian.net -* http://jenkins.debian.net is pretty much work in progress, (hopefully) doing something useful since October 15th 2012. -* Join #debian-qa on irc.debian.org to report bugs or give other feedback! Use debian-qa@lists.debian.org if you prefer mail. -* 'git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git' -* (virtual) hardware sponsored by http://www.profitbricks.com - currently it's just a server, but in future there will be installation and tests clients started on demand as well. -* some stats are available at http://jenkins.debian.net/munin/jenkins-month.html +* see link:http://jenkins.debian.net/userContent/about.html["about jenkins.debian.net"] -== More tests to be run +== General ToDo + +* get rid of some reduncacy in job-cfg/*.yaml and also fix the FIXMEs there +* add documentation for jenkins-job-builder and send pull requests on github: +** publisher:logparse +** publisher:htmlpublisher +** svn:scm +** properties: sidebar +* file a bug about jenkins/jenkins-job-builder sometimes "forgetting" about triggers +* mail notifications (to where?) +* proper backup (=daily), see bottom of this document for what to backup +* proper git repo url, outside users/holger +* only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare) +== More tests to be run === Tests for supporting d-i development: -* build the manual on every commit -** later: notify debian-boot@l.d.o and #debian-boot +* notify debian-boot@l.d.o and #debian-boot about jenkins jobs results * run scripts/digress/ * bubulle wrote: "Another interesting target would be d-i builds *including non uploaded packages* (something like "d-i from git repositories" images). That would in some way require to create a quite specific image, with all udebs (while netboot only has udebs needed before one gets a working network setup). @@ -55,41 +63,6 @@ About jenkins.debian.net ** this only lists a few packages, so a very first test could be to compare this list against this: `wget -q http://http.debian.net/debian/dists/unstable/main/Contents-source.gz -O- | zgrep -m1 -E '^debian/tests/control\s'`, make a job out of it and make it UNSTABLE if the diff is non-zero. And as a second step, run those tests... * also see http://dep.debian.net/deps/dep8/ -== General ToDo - -* get rid of some reduncacy in job-cfg/*.yaml and also fix the FIXMEs there -* add documentation for jenkins-job-builder and send pull requests on github: -** publisher:logparse -** publisher:htmlpublisher -** svn:scm -** properties: sidebar -* mail notifications (to where?) -* proper backup (=daily), see bottom of this document for what to backup -* split TODO and about.txt? -** use debian stylesheet -* proper git repo url, outside users/holger -** http://anonscm.debian.org/gitweb/?p=users/holger/jenkins.debian.net.git -* only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare) - -== Installed software that makes jenkins.debian.net run - -* jenkins.debian.net runs Debian wheezy. -* FIXME: describe how jenkins is installed + configured, basically put 'deb http://pkg.jenkins-ci.org/debian-stable binary/' into '/etc/apt/sources.list.d/jenkins.list' and `apt-get update` -* needed packages are listed in 'update_jdn.sh' and which will also make sure they are installed -** 'update_jdn.sh' is available in the git repo -* package configuration is kept in that git repo and deployed by 'update_jdn.sh' as well. - -=== Installing jenkins-job-builder -* rebuild python-jenkinsapi from sid for wheezy: -* `pip install python-jenkins` -* `git clone https://github.com/openstack-ci/jenkins-job-builder ; cd jenkins-job-builder ; python setup.py install` -** actually https://github.com/h01ger/jenkins-job-builder is used atm. - -=== Using jenkins-job-builder - -* then run `cd /srv/jenkins/job-cfg ; jenkins-jobs update .` to update jobs -* testing: `cd /srv/jenkins/job-cfg ; rm test-output/ -r ; mkdir test-output ; jenkins-jobs test . -o test-output/ ; ls test-output/` - == To backup * '/etc/.git' diff --git a/update_jdn.sh b/update_jdn.sh index 89d07c32..226d67dd 100755 --- a/update_jdn.sh +++ b/update_jdn.sh @@ -54,11 +54,13 @@ explain "Packages configured." cd $BASEDIR cp -r bin logparse job-cfg /srv/jenkins/ explain "Jenkins updated." -cp -r TODO userContent/* /var/lib/jenkins/userContent/ +cp -r TODO README userContent/* /var/lib/jenkins/userContent/ cd /var/lib/jenkins/userContent/ -asciidoc -a numbered -a data-uri -a iconsdir=/etc/asciidoc/images/icons -a scriptsdir=/etc/asciidoc/javascripts -a imagesdir=./ -b html5 -a toc -a toclevels=4 -a icons -a stylesheet=/var/lib/jenkins/userContent/theme/debian.css -o about.html TODO -rm TODO -explain "Updated about.html" +ASCIIDOC_PARAMS="-a numbered -a data-uri -a iconsdir=/etc/asciidoc/images/icons -a scriptsdir=/etc/asciidoc/javascripts -a imagesdir=./ -b html5 -a toc -a toclevels=4 -a icons -a stylesheet=$(pwd)/theme/debian.css" +asciidoc $ASCIIDOC_PARAMS -o about.html README +asciidoc $ASCIIDOC_PARAMS -o todo.html TODO +rm TODO README +explain "Updated about.html and todo.html" # # run jenkins-job-builder to update jobs if needed diff --git a/userContent/theme/asciidoc.css b/userContent/theme/asciidoc.css new file mode 100644 index 00000000..67ee9243 --- /dev/null +++ b/userContent/theme/asciidoc.css @@ -0,0 +1,531 @@ +/* Shared CSS for AsciiDoc xhtml11 and html5 backends */ + +/* Default font. */ +body { + font-family: Georgia,serif; +} + +/* Title font. */ +h1, h2, h3, h4, h5, h6, +div.title, caption.title, +thead, p.table.header, +#toctitle, +#author, #revnumber, #revdate, #revremark, +#footer { + font-family: Arial,Helvetica,sans-serif; +} + +body { + margin: 1em 5% 1em 5%; +} + +a { + color: blue; + text-decoration: underline; +} +a:visited { + color: fuchsia; +} + +em { + font-style: italic; + color: navy; +} + +strong { + font-weight: bold; + color: #083194; +} + +h1, h2, h3, h4, h5, h6 { + color: #527bbd; + margin-top: 1.2em; + margin-bottom: 0.5em; + line-height: 1.3; +} + +h1, h2, h3 { + border-bottom: 2px solid silver; +} +h2 { + padding-top: 0.5em; +} +h3 { + float: left; +} +h3 + * { + clear: left; +} +h5 { + font-size: 1.0em; +} + +div.sectionbody { + margin-left: 0; +} + +hr { + border: 1px solid silver; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +ul, ol, li > p { + margin-top: 0; +} +ul > li { color: #aaa; } +ul > li > * { color: black; } + +pre { + padding: 0; + margin: 0; +} + +#author { + color: #527bbd; + font-weight: bold; + font-size: 1.1em; +} +#email { +} +#revnumber, #revdate, #revremark { +} + +#footer { + font-size: small; + border-top: 2px solid silver; + padding-top: 0.5em; + margin-top: 4.0em; +} +#footer-text { + float: left; + padding-bottom: 0.5em; +} +#footer-badges { + float: right; + padding-bottom: 0.5em; +} + +#preamble { + margin-top: 1.5em; + margin-bottom: 1.5em; +} +div.imageblock, div.exampleblock, div.verseblock, +div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, +div.admonitionblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +div.admonitionblock { + margin-top: 2.0em; + margin-bottom: 2.0em; + margin-right: 10%; + color: #606060; +} + +div.content { /* Block element content. */ + padding: 0; +} + +/* Block element titles. */ +div.title, caption.title { + color: #527bbd; + font-weight: bold; + text-align: left; + margin-top: 1.0em; + margin-bottom: 0.5em; +} +div.title + * { + margin-top: 0; +} + +td div.title:first-child { + margin-top: 0.0em; +} +div.content div.title:first-child { + margin-top: 0.0em; +} +div.content + div.title { + margin-top: 0.0em; +} + +div.sidebarblock > div.content { + background: #ffffee; + border: 1px solid #dddddd; + border-left: 4px solid #f0f0f0; + padding: 0.5em; +} + +div.listingblock > div.content { + border: 1px solid #dddddd; + border-left: 5px solid #f0f0f0; + background: #f8f8f8; + padding: 0.5em; +} + +div.quoteblock, div.verseblock { + padding-left: 1.0em; + margin-left: 1.0em; + margin-right: 10%; + border-left: 5px solid #f0f0f0; + color: #888; +} + +div.quoteblock > div.attribution { + padding-top: 0.5em; + text-align: right; +} + +div.verseblock > pre.content { + font-family: inherit; + font-size: inherit; +} +div.verseblock > div.attribution { + padding-top: 0.75em; + text-align: left; +} +/* DEPRECATED: Pre version 8.2.7 verse style literal block. */ +div.verseblock + div.attribution { + text-align: left; +} + +div.admonitionblock .icon { + vertical-align: top; + font-size: 1.1em; + font-weight: bold; + text-decoration: underline; + color: #527bbd; + padding-right: 0.5em; +} +div.admonitionblock td.content { + padding-left: 0.5em; + border-left: 3px solid #dddddd; +} + +div.exampleblock > div.content { + border-left: 3px solid #dddddd; + padding-left: 0.5em; +} + +div.imageblock div.content { padding-left: 0; } +span.image img { border-style: none; } +a.image:visited { color: white; } + +dl { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +dt { + margin-top: 0.5em; + margin-bottom: 0; + font-style: normal; + color: navy; +} +dd > *:first-child { + margin-top: 0.1em; +} + +ul, ol { + list-style-position: outside; +} +ol.arabic { + list-style-type: decimal; +} +ol.loweralpha { + list-style-type: lower-alpha; +} +ol.upperalpha { + list-style-type: upper-alpha; +} +ol.lowerroman { + list-style-type: lower-roman; +} +ol.upperroman { + list-style-type: upper-roman; +} + +div.compact ul, div.compact ol, +div.compact p, div.compact p, +div.compact div, div.compact div { + margin-top: 0.1em; + margin-bottom: 0.1em; +} + +tfoot { + font-weight: bold; +} +td > div.verse { + white-space: pre; +} + +div.hdlist { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +div.hdlist tr { + padding-bottom: 15px; +} +dt.hdlist1.strong, td.hdlist1.strong { + font-weight: bold; +} +td.hdlist1 { + vertical-align: top; + font-style: normal; + padding-right: 0.8em; + color: navy; +} +td.hdlist2 { + vertical-align: top; +} +div.hdlist.compact tr { + margin: 0; + padding-bottom: 0; +} + +.comment { + background: yellow; +} + +.footnote, .footnoteref { + font-size: 0.8em; +} + +span.footnote, span.footnoteref { + vertical-align: super; +} + +#footnotes { + margin: 20px 0 20px 0; + padding: 7px 0 0 0; +} + +#footnotes div.footnote { + margin: 0 0 5px 0; +} + +#footnotes hr { + border: none; + border-top: 1px solid silver; + height: 1px; + text-align: left; + margin-left: 0; + width: 20%; + min-width: 100px; +} + +div.colist td { + padding-right: 0.5em; + padding-bottom: 0.3em; + vertical-align: top; +} +div.colist td img { + margin-top: 0.3em; +} + +@media print { + #footer-badges { display: none; } +} + +#toc { + margin-bottom: 2.5em; +} + +#toctitle { + color: #527bbd; + font-size: 1.1em; + font-weight: bold; + margin-top: 1.0em; + margin-bottom: 0.1em; +} + +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { + margin-top: 0; + margin-bottom: 0; +} +div.toclevel2 { + margin-left: 2em; + font-size: 0.9em; +} +div.toclevel3 { + margin-left: 4em; + font-size: 0.9em; +} +div.toclevel4 { + margin-left: 6em; + font-size: 0.9em; +} + +span.aqua { color: aqua; } +span.black { color: black; } +span.blue { color: blue; } +span.fuchsia { color: fuchsia; } +span.gray { color: gray; } +span.green { color: green; } +span.lime { color: lime; } +span.maroon { color: maroon; } +span.navy { color: navy; } +span.olive { color: olive; } +span.purple { color: purple; } +span.red { color: red; } +span.silver { color: silver; } +span.teal { color: teal; } +span.white { color: white; } +span.yellow { color: yellow; } + +span.aqua-background { background: aqua; } +span.black-background { background: black; } +span.blue-background { background: blue; } +span.fuchsia-background { background: fuchsia; } +span.gray-background { background: gray; } +span.green-background { background: green; } +span.lime-background { background: lime; } +span.maroon-background { background: maroon; } +span.navy-background { background: navy; } +span.olive-background { background: olive; } +span.purple-background { background: purple; } +span.red-background { background: red; } +span.silver-background { background: silver; } +span.teal-background { background: teal; } +span.white-background { background: white; } +span.yellow-background { background: yellow; } + +span.big { font-size: 2em; } +span.small { font-size: 0.6em; } + +span.underline { text-decoration: underline; } +span.overline { text-decoration: overline; } +span.line-through { text-decoration: line-through; } + + +/* + * xhtml11 specific + * + * */ + +tt { + font-family: monospace; + font-size: inherit; + color: navy; +} + +div.tableblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +div.tableblock > table { + border: 3px solid #527bbd; +} +thead, p.table.header { + font-weight: bold; + color: #527bbd; +} +p.table { + margin-top: 0; +} +/* Because the table frame attribute is overriden by CSS in most browsers. */ +div.tableblock > table[frame="void"] { + border-style: none; +} +div.tableblock > table[frame="hsides"] { + border-left-style: none; + border-right-style: none; +} +div.tableblock > table[frame="vsides"] { + border-top-style: none; + border-bottom-style: none; +} + + +/* + * html5 specific + * + * */ + +.monospaced { + font-family: monospace; + font-size: inherit; + color: navy; +} + +table.tableblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +thead, p.tableblock.header { + font-weight: bold; + color: #527bbd; +} +p.tableblock { + margin-top: 0; +} +table.tableblock { + border-width: 3px; + border-spacing: 0px; + border-style: solid; + border-color: #527bbd; + border-collapse: collapse; +} +th.tableblock, td.tableblock { + border-width: 1px; + padding: 4px; + border-style: solid; + border-color: #527bbd; +} + +table.tableblock.frame-topbot { + border-left-style: hidden; + border-right-style: hidden; +} +table.tableblock.frame-sides { + border-top-style: hidden; + border-bottom-style: hidden; +} +table.tableblock.frame-none { + border-style: hidden; +} + +th.tableblock.halign-left, td.tableblock.halign-left { + text-align: left; +} +th.tableblock.halign-center, td.tableblock.halign-center { + text-align: center; +} +th.tableblock.halign-right, td.tableblock.halign-right { + text-align: right; +} + +th.tableblock.valign-top, td.tableblock.valign-top { + vertical-align: top; +} +th.tableblock.valign-middle, td.tableblock.valign-middle { + vertical-align: middle; +} +th.tableblock.valign-bottom, td.tableblock.valign-bottom { + vertical-align: bottom; +} + + +/* + * manpage specific + * + * */ + +body.manpage h1 { + padding-top: 0.5em; + padding-bottom: 0.5em; + border-top: 2px solid silver; + border-bottom: 2px solid silver; +} +body.manpage h2 { + border-style: none; +} +body.manpage div.sectionbody { + margin-left: 3em; +} + +@media print { + body.manpage div#toc { display: none; } +} diff --git a/userContent/theme/debian-asciidoc.css b/userContent/theme/debian-asciidoc.css new file mode 100644 index 00000000..163b75ac --- /dev/null +++ b/userContent/theme/debian-asciidoc.css @@ -0,0 +1,61 @@ +@import url(./asciidoc.css); + +/* --------------------------------------------------------------------------- + * FreeBSD AsciiDoc Theme + * Ryan Tomayko <r@tomayko.com> + * + * Based on The FreeBSD Handbook and various other FreeBSD documenration. + * --------------------------------------------------------------------------- + * + * + * modified 2012 by Holger Levsen <holger@layer-acht.org> + * + * */ + +body { + font-family:liberationsans,helvetica,verdana,sans-serif; + font-size:100%; + color:#000; +} + +tt { color:#7a7171 } +pre tt { color:#000 } + +dt { color:#000 } + +h1, h2, h3, h4, h5 { + color:#d70751; + font-weight:bold; +} + +.article { + background-image: url("./debian-swirl.png"); + padding: 30px 30px; + background-position: right top; + background-repeat: no-repeat; +} + +#header { + text-align:left; +} +#header h1 { margin-bottom:40px } + +h1 { + font-size:36px; + line-height:1; + margin:40px 0; +} + +h2 { + font-size:28px; + line-height:1; + margin:30px 0 20px 0; +} + +.sectionbody { + margin-left:30px; +} + +pre { + background:#EEE; +} |