Flatten attribute for publish plugins
plus move examples to tests Change-Id: Ia785afe40da81c77abe643f3c788e5d4faefbf5d
This commit is contained in:
parent
686265a404
commit
d1bfc8e4e3
@ -745,16 +745,14 @@ def ftp(parser, xml_parent, data):
|
|||||||
:arg str remove-prefix: prefix to remove from uploaded file paths
|
:arg str remove-prefix: prefix to remove from uploaded file paths
|
||||||
(optional)
|
(optional)
|
||||||
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
||||||
|
:arg bool flatten: only create files on the server, don't create
|
||||||
|
directories (default false).
|
||||||
|
|
||||||
Example::
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/publishers/fixtures/ftp001.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
publishers:
|
|
||||||
- ftp:
|
|
||||||
site: 'ftp.example.com'
|
|
||||||
target: 'dest/dir'
|
|
||||||
source: 'base/source/dir/**'
|
|
||||||
remove-prefix: 'base/source/dir'
|
|
||||||
excludes: '**/*.excludedfiletype'
|
|
||||||
"""
|
"""
|
||||||
console_prefix = 'FTP: '
|
console_prefix = 'FTP: '
|
||||||
plugin_tag = 'jenkins.plugins.publish__over__ftp.BapFtpPublisherPlugin'
|
plugin_tag = 'jenkins.plugins.publish__over__ftp.BapFtpPublisherPlugin'
|
||||||
@ -1145,6 +1143,7 @@ def scp(parser, xml_parent, data):
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. literalinclude:: /../../tests/publishers/fixtures/scp001.yaml
|
.. literalinclude:: /../../tests/publishers/fixtures/scp001.yaml
|
||||||
|
|
||||||
"""
|
"""
|
||||||
site = data['site']
|
site = data['site']
|
||||||
scp = XML.SubElement(xml_parent,
|
scp = XML.SubElement(xml_parent,
|
||||||
@ -1191,19 +1190,14 @@ def ssh(parser, xml_parent, data):
|
|||||||
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
||||||
:arg bool always-publish-from-master: transfer the files through the master
|
:arg bool always-publish-from-master: transfer the files through the master
|
||||||
before being sent to the remote server (defaults false)
|
before being sent to the remote server (defaults false)
|
||||||
|
:arg bool flatten: only create files on the server, don't create
|
||||||
|
directories (default false).
|
||||||
|
|
||||||
Example::
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/publishers/fixtures/ssh001.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
publishers:
|
|
||||||
- ssh:
|
|
||||||
site: 'server.example.com'
|
|
||||||
target: 'dest/dir'
|
|
||||||
source: 'base/source/dir/**'
|
|
||||||
remove-prefix: 'base/source/dir'
|
|
||||||
excludes: '**/*.excludedfiletype'
|
|
||||||
use-pty: true
|
|
||||||
command: 'rm -r jenkins_$BUILD_NUMBER'
|
|
||||||
timeout: 1800000
|
|
||||||
"""
|
"""
|
||||||
console_prefix = 'SSH: '
|
console_prefix = 'SSH: '
|
||||||
plugin_tag = 'jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin'
|
plugin_tag = 'jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin'
|
||||||
@ -1720,7 +1714,8 @@ def base_publish_over(xml_parent, data, console_prefix,
|
|||||||
data.get('remove-prefix', '')
|
data.get('remove-prefix', '')
|
||||||
XML.SubElement(transfersset, 'remoteDirectorySDF').text = \
|
XML.SubElement(transfersset, 'remoteDirectorySDF').text = \
|
||||||
str(data.get('target-is-date-format', False)).lower()
|
str(data.get('target-is-date-format', False)).lower()
|
||||||
XML.SubElement(transfersset, 'flatten').text = 'false'
|
XML.SubElement(transfersset, 'flatten').text = \
|
||||||
|
str(data.get('flatten', False)).lower()
|
||||||
XML.SubElement(transfersset, 'cleanRemote').text = \
|
XML.SubElement(transfersset, 'cleanRemote').text = \
|
||||||
str(data.get('clean-remote', False)).lower()
|
str(data.get('clean-remote', False)).lower()
|
||||||
|
|
||||||
@ -1754,16 +1749,14 @@ def cifs(parser, xml_parent, data):
|
|||||||
:arg str remove-prefix: prefix to remove from uploaded file paths
|
:arg str remove-prefix: prefix to remove from uploaded file paths
|
||||||
(optional)
|
(optional)
|
||||||
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
:arg bool fail-on-error: fail the build if an error occurs (default false).
|
||||||
|
:arg bool flatten: only create files on the server, don't create
|
||||||
|
directories (default false).
|
||||||
|
|
||||||
Example::
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/publishers/fixtures/cifs001.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
publishers:
|
|
||||||
- cifs:
|
|
||||||
site: 'cifs.share'
|
|
||||||
target: 'dest/dir'
|
|
||||||
source: 'base/source/dir/**'
|
|
||||||
remove-prefix: 'base/source/dir'
|
|
||||||
excludes: '**/*.excludedfiletype'
|
|
||||||
"""
|
"""
|
||||||
console_prefix = 'CIFS: '
|
console_prefix = 'CIFS: '
|
||||||
plugin_tag = 'jenkins.plugins.publish__over__cifs.CifsPublisherPlugin'
|
plugin_tag = 'jenkins.plugins.publish__over__cifs.CifsPublisherPlugin'
|
||||||
|
34
tests/publishers/fixtures/cifs001.xml
Normal file
34
tests/publishers/fixtures/cifs001.xml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__cifs.CifsPublisherPlugin>
|
||||||
|
<consolePrefix>CIFS: </consolePrefix>
|
||||||
|
<delegate>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__cifs.CifsPublisher>
|
||||||
|
<configName>cifs.share</configName>
|
||||||
|
<verbose>true</verbose>
|
||||||
|
<transfers>
|
||||||
|
<jenkins.plugins.publish__over__cifs.CifsTransfer>
|
||||||
|
<remoteDirectory>dest/dir</remoteDirectory>
|
||||||
|
<sourceFiles>base/source/dir/**</sourceFiles>
|
||||||
|
<excludes>**/*.excludedfiletype</excludes>
|
||||||
|
<removePrefix>base/source/dir</removePrefix>
|
||||||
|
<remoteDirectorySDF>false</remoteDirectorySDF>
|
||||||
|
<flatten>true</flatten>
|
||||||
|
<cleanRemote>false</cleanRemote>
|
||||||
|
</jenkins.plugins.publish__over__cifs.CifsTransfer>
|
||||||
|
</transfers>
|
||||||
|
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
|
||||||
|
<usePromotionTimestamp>false</usePromotionTimestamp>
|
||||||
|
</jenkins.plugins.publish__over__cifs.CifsPublisher>
|
||||||
|
</publishers>
|
||||||
|
<continueOnError>false</continueOnError>
|
||||||
|
<failOnError>false</failOnError>
|
||||||
|
<alwaysPublishFromMaster>false</alwaysPublishFromMaster>
|
||||||
|
<hostConfigurationAccess class="jenkins.plugins.publish_over_cifs.CifsPublisherPlugin" reference="../.."/>
|
||||||
|
</delegate>
|
||||||
|
</jenkins.plugins.publish__over__cifs.CifsPublisherPlugin>
|
||||||
|
</publishers>
|
||||||
|
</project>
|
||||||
|
|
9
tests/publishers/fixtures/cifs001.yaml
Normal file
9
tests/publishers/fixtures/cifs001.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
publishers:
|
||||||
|
- cifs:
|
||||||
|
site: 'cifs.share'
|
||||||
|
target: 'dest/dir'
|
||||||
|
source: 'base/source/dir/**'
|
||||||
|
remove-prefix: 'base/source/dir'
|
||||||
|
excludes: '**/*.excludedfiletype'
|
||||||
|
flatten: true
|
||||||
|
|
36
tests/publishers/fixtures/ftp001.xml
Normal file
36
tests/publishers/fixtures/ftp001.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__ftp.BapFtpPublisherPlugin>
|
||||||
|
<consolePrefix>FTP: </consolePrefix>
|
||||||
|
<delegate>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__ftp.BapFtpPublisher>
|
||||||
|
<configName>ftp.example.com</configName>
|
||||||
|
<verbose>true</verbose>
|
||||||
|
<transfers>
|
||||||
|
<jenkins.plugins.publish__over__ftp.BapFtpTransfer>
|
||||||
|
<remoteDirectory>dest/dir</remoteDirectory>
|
||||||
|
<sourceFiles>base/source/dir/**</sourceFiles>
|
||||||
|
<excludes>**/*.excludedfiletype</excludes>
|
||||||
|
<removePrefix>base/source/dir</removePrefix>
|
||||||
|
<remoteDirectorySDF>false</remoteDirectorySDF>
|
||||||
|
<flatten>true</flatten>
|
||||||
|
<cleanRemote>false</cleanRemote>
|
||||||
|
<asciiMode>false</asciiMode>
|
||||||
|
</jenkins.plugins.publish__over__ftp.BapFtpTransfer>
|
||||||
|
</transfers>
|
||||||
|
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
|
||||||
|
<usePromotionTimestamp>false</usePromotionTimestamp>
|
||||||
|
</jenkins.plugins.publish__over__ftp.BapFtpPublisher>
|
||||||
|
</publishers>
|
||||||
|
<continueOnError>false</continueOnError>
|
||||||
|
<failOnError>false</failOnError>
|
||||||
|
<alwaysPublishFromMaster>false</alwaysPublishFromMaster>
|
||||||
|
<hostConfigurationAccess class="jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin" reference="../.."/>
|
||||||
|
</delegate>
|
||||||
|
</jenkins.plugins.publish__over__ftp.BapFtpPublisherPlugin>
|
||||||
|
</publishers>
|
||||||
|
</project>
|
||||||
|
|
||||||
|
|
9
tests/publishers/fixtures/ftp001.yaml
Normal file
9
tests/publishers/fixtures/ftp001.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
publishers:
|
||||||
|
- ftp:
|
||||||
|
site: 'ftp.example.com'
|
||||||
|
target: 'dest/dir'
|
||||||
|
source: 'base/source/dir/**'
|
||||||
|
remove-prefix: 'base/source/dir'
|
||||||
|
excludes: '**/*.excludedfiletype'
|
||||||
|
flatten: true
|
||||||
|
|
36
tests/publishers/fixtures/ssh001.xml
Normal file
36
tests/publishers/fixtures/ssh001.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
|
||||||
|
<consolePrefix>SSH: </consolePrefix>
|
||||||
|
<delegate>
|
||||||
|
<publishers>
|
||||||
|
<jenkins.plugins.publish__over__ssh.BapSshPublisher>
|
||||||
|
<configName>server.example.com</configName>
|
||||||
|
<verbose>true</verbose>
|
||||||
|
<transfers>
|
||||||
|
<jenkins.plugins.publish__over__ssh.BapSshTransfer>
|
||||||
|
<remoteDirectory>dest/dir</remoteDirectory>
|
||||||
|
<sourceFiles>base/source/dir/**</sourceFiles>
|
||||||
|
<execCommand>rm -r jenkins_$BUILD_NUMBER</execCommand>
|
||||||
|
<execTimeout>1800000</execTimeout>
|
||||||
|
<usePty>true</usePty>
|
||||||
|
<excludes>**/*.excludedfiletype</excludes>
|
||||||
|
<removePrefix>base/source/dir</removePrefix>
|
||||||
|
<remoteDirectorySDF>false</remoteDirectorySDF>
|
||||||
|
<flatten>true</flatten>
|
||||||
|
<cleanRemote>false</cleanRemote>
|
||||||
|
</jenkins.plugins.publish__over__ssh.BapSshTransfer>
|
||||||
|
</transfers>
|
||||||
|
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
|
||||||
|
<usePromotionTimestamp>false</usePromotionTimestamp>
|
||||||
|
</jenkins.plugins.publish__over__ssh.BapSshPublisher>
|
||||||
|
</publishers>
|
||||||
|
<continueOnError>false</continueOnError>
|
||||||
|
<failOnError>false</failOnError>
|
||||||
|
<alwaysPublishFromMaster>false</alwaysPublishFromMaster>
|
||||||
|
<hostConfigurationAccess class="jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin" reference="../.."/>
|
||||||
|
</delegate>
|
||||||
|
</jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
|
||||||
|
</publishers>
|
||||||
|
</project>
|
12
tests/publishers/fixtures/ssh001.yaml
Normal file
12
tests/publishers/fixtures/ssh001.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
publishers:
|
||||||
|
- ssh:
|
||||||
|
site: 'server.example.com'
|
||||||
|
target: 'dest/dir'
|
||||||
|
source: 'base/source/dir/**'
|
||||||
|
remove-prefix: 'base/source/dir'
|
||||||
|
excludes: '**/*.excludedfiletype'
|
||||||
|
use-pty: true
|
||||||
|
command: 'rm -r jenkins_$BUILD_NUMBER'
|
||||||
|
timeout: 1800000
|
||||||
|
flatten: true
|
||||||
|
|
Loading…
Reference in New Issue
Block a user