Merge "Add MongoDB plugin support"
This commit is contained in:
commit
aa3871ef45
@ -1026,6 +1026,41 @@ def logstash(parser, xml_parent, data):
|
||||
key_sub_element.text = str(redis_config.get('key', 'logstash'))
|
||||
|
||||
|
||||
def mongo_db(parser, xml_parent, data):
|
||||
"""yaml: mongo-db build wrapper
|
||||
Initalizes a MongoDB database while running the build.
|
||||
Requires the Jenkins `MongoDB plugin.
|
||||
<https://wiki.jenkins-ci.org/display/JENKINS/MongoDB+Plugin>`_
|
||||
|
||||
:arg str name: The name of the MongoDB install to use
|
||||
:arg str data-directory: Data directory for the server (optional)
|
||||
:arg int port: Port for the server (optional)
|
||||
:arg str startup-params: Startup parameters for the server (optional)
|
||||
:arg int start-timeout: How long to wait for the server to start in
|
||||
milliseconds. 0 means no timeout. (default '0')
|
||||
|
||||
Example:
|
||||
|
||||
.. literalinclude:: /../../tests/wrappers/fixtures/mongo-db001.yaml
|
||||
|
||||
"""
|
||||
mongodb = XML.SubElement(xml_parent,
|
||||
'org.jenkinsci.plugins.mongodb.'
|
||||
'MongoBuildWrapper')
|
||||
mongodb.set('plugin', 'mongodb')
|
||||
|
||||
if not str(data.get('name', '')):
|
||||
raise JenkinsJobsException('The mongo install name must be specified.')
|
||||
XML.SubElement(mongodb, 'mongodbName').text = str(data.get('name', ''))
|
||||
XML.SubElement(mongodb, 'port').text = str(data.get('port', ''))
|
||||
XML.SubElement(mongodb, 'dbpath').text = str(data.get(
|
||||
'data-directory', ''))
|
||||
XML.SubElement(mongodb, 'parameters').text = str(data.get(
|
||||
'startup-params', ''))
|
||||
XML.SubElement(mongodb, 'startTimeout').text = str(data.get(
|
||||
'start-timeout', '0'))
|
||||
|
||||
|
||||
def delivery_pipeline(parser, xml_parent, data):
|
||||
"""yaml: delivery-pipeline
|
||||
If enabled the job will create a version based on the template.
|
||||
|
@ -213,6 +213,7 @@ jenkins_jobs.wrappers =
|
||||
logstash=jenkins_jobs.modules.wrappers:logstash
|
||||
mask-passwords=jenkins_jobs.modules.wrappers:mask_passwords
|
||||
matrix-tie-parent=jenkins_jobs.modules.wrappers:matrix_tie_parent
|
||||
mongo-db=jenkins_jobs.modules.wrappers:mongo_db
|
||||
pathignore=jenkins_jobs.modules.wrappers:pathignore
|
||||
port-allocator=jenkins_jobs.modules.wrappers:port_allocator
|
||||
pre-scm-buildstep=jenkins_jobs.modules.wrappers:pre_scm_buildstep
|
||||
|
12
tests/wrappers/fixtures/mongo-db001.xml
Normal file
12
tests/wrappers/fixtures/mongo-db001.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<buildWrappers>
|
||||
<org.jenkinsci.plugins.mongodb.MongoBuildWrapper plugin="mongodb">
|
||||
<mongodbName>2.4.6</mongodbName>
|
||||
<port>5555</port>
|
||||
<dbpath>/var/tmp/mongo</dbpath>
|
||||
<parameters>--bind_ip 127.0.0.1</parameters>
|
||||
<startTimeout>5000</startTimeout>
|
||||
</org.jenkinsci.plugins.mongodb.MongoBuildWrapper>
|
||||
</buildWrappers>
|
||||
</project>
|
7
tests/wrappers/fixtures/mongo-db001.yaml
Normal file
7
tests/wrappers/fixtures/mongo-db001.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
wrappers:
|
||||
- mongo-db:
|
||||
name: 2.4.6
|
||||
data-directory: /var/tmp/mongo
|
||||
port: 5555
|
||||
startup-params: "--bind_ip 127.0.0.1"
|
||||
start-timeout: 5000
|
12
tests/wrappers/fixtures/mongo-db002.xml
Normal file
12
tests/wrappers/fixtures/mongo-db002.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<buildWrappers>
|
||||
<org.jenkinsci.plugins.mongodb.MongoBuildWrapper plugin="mongodb">
|
||||
<mongodbName>2.4.6</mongodbName>
|
||||
<port/>
|
||||
<dbpath/>
|
||||
<parameters/>
|
||||
<startTimeout>0</startTimeout>
|
||||
</org.jenkinsci.plugins.mongodb.MongoBuildWrapper>
|
||||
</buildWrappers>
|
||||
</project>
|
3
tests/wrappers/fixtures/mongo-db002.yaml
Normal file
3
tests/wrappers/fixtures/mongo-db002.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
wrappers:
|
||||
- mongo-db:
|
||||
name: 2.4.6
|
Loading…
Reference in New Issue
Block a user