![James E. Blair](/assets/img/avatar_default.png)
Move test.sh to the tools directory. Move parameters and notifications to their own modules; even though they are implemented as Jenkins properties, they make more sense as separate entities in the job builder, because that's they way they are specified in the YAML. All three modules that touch the properties xml object know how to create it if it's missing. Change-Id: I4b42ff10a93fd3ed98f632b58e47f3e0e45086d6 Reviewed-on: https://review.openstack.org/12741 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
2.2 KiB
Installation
To install Jenkins Job Builder, run:
sudo setup.py install
The OpenStack project uses puppet to manage its infrastructure systems, including Jenkins. If you use Puppet, you can use the OpenStack Jenkins module to install Jenkins Job Builder.
Configuration File
After installation, you will need to create a configuration file. By
default, jenkins-jobs looks in
/etc/jenkins_jobs/jenkins_jobs.ini
but you may specify an
alternate location when running jenkins-jobs. The file should have the
following format:
[jenkins]
user=USERNAME
password=PASSWORD
url=JENKINS_URL
- user
-
This should be the name of a user previously defined in Jenkins with the permissions necessary to read, create, delete, and configure jobs.
- password
-
The API token for the user specified. You cat get this through the Jenkins management interface under
People
-> username ->Configure
and then click theShow API Token
button. - url
-
The base URL for your Jenkins installation.
Running
After it's installed and configured, you can invoke Jenkins Job
Builder by running jenkins-jobs
. You won't be able to do
anything useful just yet without a configuration which is discussed in
the next section). But you should be able to get help on the various
commands by running:
jenkins-jobs --help
jenkins-jobs update --help
jenkins-jobs test --help
(etc.)
Once you have a configuration defined, you can test it with:
jenkins-jobs test /path/to/config -o /path/to/output
That will write XML files to the output directory for all of the jobs defined in the configuration directory. When you're satisfied, you can run:
jenkins-jobs update /path/to/config
Which will upload the configurations to Jenkins if needed. Jenkins Job Builder maintains a cache of previously configured jobs, so that you can run that command as often as you like, and it will only update the configuration in Jenkins if the defined configuration has changed since the last time it was run. Note: if you modify a job directly in Jenkins, jenkins-jobs will not know about it and will not update it.