summaryrefslogtreecommitdiffstats
path: root/README.rst
blob: 103d3fe060ad0a3e5ef6bc17be1f464f8239f760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
===================
Jenkins Job Builder
===================

Jenkins Job Builder takes simple descriptions of Jenkins jobs in YAML format,
and uses them to configure Jenkins. You can keep your job descriptions in human
readable text format in a version control system to make changes and auditing
easier. It also has a flexible template system, so creating many similarly
configured jobs is easy.

To install::

    $ sudo python setup.py install

Online documentation:

* http://ci.openstack.org/jenkins-job-builder/

Developers
==========
Bug report:

* https://bugs.launchpad.net/openstack-ci/

Cloning:

* https://git.openstack.org/openstack-infra/jenkins-job-builder

Patches are submitted via Gerrit at:

* https://review.openstack.org/

Please do not submit GitHub pull requests, they will be automatically closed.

More details on how you can contribute is available on our wiki at:

* http://wiki.openstack.org/HowToContribute

Writing a patch
===============

We ask that all code submissions be pep8 and pyflakes clean.  The
easiest way to do that is to run `tox` before submitting code for
review in Gerrit.  It will run `pep8` and `pyflakes` in the same
manner as the automated test suite that will run on proposed
patchsets.

When creating new YAML components, please observe the following style
conventions:

* All YAML identifiers (including component names and arguments)
  should be lower-case and multiple word identifiers should use
  hyphens.  E.g., "build-trigger".
* The Python functions that implement components should have the same
  name as the YAML keyword, but should use underscores instead of
  hyphens. E.g., "build_trigger".

This consistency will help users avoid simple mistakes when writing
YAML, as well as developers when matching YAML components to Python
implementation.

Installing without setup.py
===========================

For YAML support, you will need libyaml installed.

Mac OS X::

    $ brew install libyaml

Then install the required python packages using pip::

    $ sudo pip install PyYAML python-jenkins