Giter VIP home page Giter VIP logo

publish-over-ftp-plugin's Introduction

Publish Over FTP Plugin for Jenkins

Send build artifacts over FTP.

Jenkins Plugin Jenkins Plugin Installs

Publish Over Plugin

Please read Publish Over Plugin documentation first. Common configuration options will not be repeated here.

Features

  • Send files to FTP servers
  • The plugin is "promotion aware" see Promotions
  • Publish to multiple servers in the "Post-build Actions"
  • Transfer complete directory structures, partial structures or just files
  • Option to delete all files in the remote directory before publishing
  • Use passive (PASV) or active (PORT) transfers
  • FTP can be used as a build step during the build process
  • Passwords are encrypted in the configuration files and in the UI

Configure

Create host configurations in the main Jenkins configuration

From the Jenkins home page, click "Manage Jenkins" and the click on "Configure System"

Find the FTP section (as below) and click on the "Add" button next to "FTP Servers"

You should now have the configuration options as below

Fill in Name, Hostname, Username, Password and Remote Directory. see Publish Over ... for common options for Host Configurations

Advanced

If you click the "Advanced..." button for a configuration, then you will make more configuration options available (see below)

see Publish Over ... for common options for Host Configurations

Use active data mode

By default passive mode will be used to connect to the FTP Server.
In passive mode the client initiates all connections which will allow the client to send files through a firewall that has been configured to refuse all inbound connections (and does not create dynamic rules).
If you want to dissable passive mode, and have the client use PORT commands for the server to connect to the client to retieve the files, then you can check this box.

Don't make nested dirs

Do not try to create nested directories with a single MKD command
The default behaviour when creating directories is to try to create the target directory with single command, even if it is nested. If this fails, the plugin will fall back to creating each directory individually. Some FTP servers, when asked to create nested directories will respond with a success code, but will not create the directories correctly. This will result in directories being created in incorrect branches of the directory tree.
This option will not prevent the creation of nested directories, it is just a fix for badly behaved FTP servers.

Click "Test Configuration".
Add more server configurations (if required)
Save

Configure a job to Publish Over FTP

Open a jobs main page and then click "Configure" from the left hand menu.

Find the "Send build artifacts over FTP" checkbox in the "Post-build Actions" section (as below) and click in the box.

You should now have the configuration options as below

see Publish Over ... for common options for Server

see Publish Over ... for common options for Transfer Sets

Source files

The build will fail if you do not select any Source files to transfer

Advanced (Transfer Sets)

If you click the "Advanced..." button for a Transfer Set, then you will make more configuration options available (see below)

see Publish Over ... for common options for Transfer Sets

ASCII mode

Transfer the files using ASCII mode.
This means that during the transfer, new lines and carriage returns will be converted from the format used on the client operating system to the format used on the servers operating system.
Do not use this option if your Source files pattern will match any binary files, as there is a good chance that binary files will be corrupted during transfer.

Clean remote

Delete all files and directories from the remote directory before uploading the new files.

Advanced (Publisher)

If you click the "Advanced..." button that is immediately below the "Add Server" button, then you will make more configuration options available (see below)

see Publish Over ... for common options for Publisher

Options to override the default Promotion behaviour

If you are configuring an action in a promotion, new options will become available.

see Publish Over ... for common options for Promotions

Release Notes

See the changelog.

publish-over-ftp-plugin's People

Contributors

afischer211 avatar bap2000 avatar cjanz avatar dariver avatar darxriggs avatar dependabot[bot] avatar gmcdonald avatar lwhsu avatar ndeloof avatar oleg-nenashev avatar slide avatar tobiwan88 avatar uhafner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

publish-over-ftp-plugin's Issues

[JENKINS-21085] Add OpenVMS support to Publish-over plugins

Our company servers use HP's OpenVMS operating system and we would like to use the Publish-over-SSH or even Publish-over-FTP plugins to deploy our artifacts to them. Unfortunately, due to the strange path names OpenVMS uses (e.g. ROOT:[some.dir]), the plugin cannot navigate the file system.

Please consider adding OpenVMS to the supported destination operating systems.


Originally reported by tankertux, imported from: Add OpenVMS support to Publish-over plugins
  • assignee: slide_o_mix
  • status: Closed
  • priority: Minor
  • resolution: Won't Do
  • resolved: 2019-01-23T04:39:51+11:00
  • imported: 2022/01/10

[JENKINS-55816] Publish over FTP fails on multi-module project when modules skipped

I have a multi-module project that is built with Jenkins/Maven. When doing a release build, in the cleanup phase, only the top module results in SUCCESS, while the other modules get a SKIPPED, simply because there is nothing to do for them. This looks like this, for example:

[INFO] Reactor Summary:
[INFO] 
[INFO] Main Module #1 .................................... SUCCESS [6:40.776s]
[INFO] Module #2 ......................................... SKIPPED
[INFO] Module #3 ......................................... SKIPPED
[INFO] Module #4 ......................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

 

It's actually not a problem. The overall result is SUCCESS. However, the Publish Over FTP plugin does not seem to look at the overall result, but seems to see only that some steps did have resulted in something different from SUCCESS, so erroneously assumes a build problem and does not upload the artifacts:

FTP: Current build result is [NOT_BUILT], not going to run.
[M2Release] assigning keep build to current build.
channel stopped
Finished: SUCCESS.

There doesn't seem to be a way to work around this, so I hope for a fix in the Publish Over FTP plugin.

 

 


Originally reported by mesa, imported from: Publish over FTP fails on multi-module project when modules skipped
  • assignee: slide_o_mix
  • status: Closed
  • priority: Critical
  • resolution: Duplicate
  • resolved: 2019-02-15T00:27:49+11:00
  • imported: 2022/01/10

[JENKINS-36079] Regression in v.1.12

Since upgrading to v1.12, Publish-over-FTP does not work.

Reverting the plugin back to v1.11 has provided a temporary solution.

With v1.12, uploads fail with the following messages:

FTP: Connecting from host [sisyphus.desy.de]
FTP: Connecting with configuration [DESY dCache] ...
FTP: Disconnecting configuration [DESY dCache] ...
ERROR: Exception when publishing, exception message [Failed to parse a file entry returned from the server]
Build step 'Send build artifacts over FTP' changed build result to UNSTABLE

For an example of this, see the console output from build 6951:

https://ci.dcache.org/job/dCache-master/6951/

I captured the network traffic between the FTP server and the Publish-over-FTP plugin using tcpdump.

Here are the TCP streams between the FTP client to the server.

First, here's the command-channel, obviously those starting with a number are replies from the server (I've replaced the username and password with stars):

220 Weak FTP door ready
USER ************
331 Password required for ************.
PASS ********
230 User dcache-build logged in
PWD
257 "/" is current directory
TYPE I
200 Type set to I
CWD /
250 CWD command succcessful. New CWD is
CWD rolling/2.17
250 CWD command succcessful. New CWD is
SYST
215 UNIX Type: L8 Version: FTPDoor
PASV
227 OK (131,169,191,209,89,159)
LIST -a
150 Ready to accept ASCII mode data connection
226 36 files

Here's the data channel, providing the response to the LIST command.

dcache-2.17.0.43e7ad0-1.noarch.rpm
dcache-2.17.0.7deb9f0-1.noarch.rpm
dcache-2.17.0.62fd200-1.noarch.rpm
dcache-2.17.0.13a009b-1.noarch.rpm
dcache-2.17.0.ff48c27-1.noarch.rpm
dcache-2.17.0.d790aa8-1.noarch.rpm
dcache-2.17.0.b9792c7-1.noarch.rpm
dcache-2.17.0.abdae03-1.noarch.rpm
dcache-2.17.0.887b4d3-1.noarch.rpm
dcache-2.17.0.61d13ef-1.noarch.rpm
dcache-2.17.0.0d2f9c0-1.noarch.rpm
dcache-2.17.0.459680d-1.noarch.rpm
dcache-2.17.0.b40b8bd-1.noarch.rpm
dcache-2.17.0.e5a0042-1.noarch.rpm
dcache-2.17.0.56fb782-1.noarch.rpm
dcache-2.17.0.586e62f-1.noarch.rpm
dcache-2.17.0.78ee625-1.noarch.rpm
dcache-2.17.0.73bb943-1.noarch.rpm
dcache-2.17.0.291dbb1-1.noarch.rpm
dcache-2.17.0.d154a5f-1.noarch.rpm
dcache-2.17.0.c93dc6c-1.noarch.rpm
dcache-2.17.0.070a543-1.noarch.rpm
dcache-2.17.0.7b770bc-1.noarch.rpm
dcache-2.17.0.159c422-1.noarch.rpm
dcache-2.17.0.b21b4b4-1.noarch.rpm
dcache-2.17.0.1dbfbe5-1.noarch.rpm
dcache-2.17.0.dd15a13-1.noarch.rpm
dcache-2.17.0.a8d9592-1.noarch.rpm
dcache-2.17.0.942cca1-1.noarch.rpm
dcache-2.17.0.5180b99-1.noarch.rpm
dcache-2.17.0.9830f2d-1.noarch.rpm
dcache-srmclient-2.16.0SNAPSHOT-1.noarch.rpm
dcache-srmclient-2.17.0SNAPSHOT-1.noarch.rpm
srm-client-2.16.0-SNAPSHOT.tar.gz
srm-client-2.17.0-SNAPSHOT.tar.gz
dcache-2.17.0.08ee55b-1.noarch.rpm


Originally reported by iepe1eet, imported from: Regression in v.1.12
  • assignee: slide_o_mix
  • status: Resolved
  • priority: Critical
  • resolution: Fixed
  • resolved: 2018-02-01T18:34:17+11:00
  • imported: 2022/01/10

[JENKINS-34993] Publish over FTP plugin hangs up

FTPClient hangs occassionally.

Plugin properties:
Implementation-Title: ftppublisher
Implementation-Version: 1.2
Short-Name: ftppublisher
Long-Name: FTP publisher plugin
Url: http://wiki.hudson-ci.org/display/HUDSON/FTP-Publisher+Plugin
Compatible-Since-Version: 1.0
Plugin-Version: 1.2

Stacktrace of a susspended thread:
Executor #0 for JenkinsSlave14 : executing Ramos.Dev.jRamos.Unit #9892
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
java.net.ServerSocket.implAccept(ServerSocket.java:530)
java.net.ServerSocket.accept(ServerSocket.java:498)
org.apache.commons.net.ftp.FTPClient.openDataConnection(FTPClient.java:502)
org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:388)
org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1388)
com.zanox.hudson.plugins.FTPSite.upload(FTPSite.java:358)
com.zanox.hudson.plugins.EntryCopier.copyFile(EntryCopier.java:87)
com.zanox.hudson.plugins.EntryCopier.copy(EntryCopier.java:77)
com.zanox.hudson.plugins.FTPPublisher.perform(FTPPublisher.java:179)
hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
hudson.model.Build$BuildExecution.post2(Build.java:185)
hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
hudson.model.Run.execute(Run.java:1766)
hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
hudson.model.ResourceController.execute(ResourceController.java:98)
hudson.model.Executor.run(Executor.java:381)

The plugin uses jenkins/plugins/ftppublisher/WEB-INF/lib/commons-net-1.4.1.jar.
Seems a similar problem described in https://issues.apache.org/jira/browse/NET-152.

Could you update commons-net lib?


Originally reported by stepanmelnik, imported from: Publish over FTP plugin hangs up
  • assignee: slide_o_mix
  • status: Resolved
  • priority: Major
  • resolution: Cannot Reproduce
  • resolved: 2018-04-13T11:11:52+10:00
  • imported: 2022/01/10

[JENKINS-14340] Remote directory of a Transfer Set should resolve env variable more than once

This is a small feature improvement for "Publish Over ..."

I tested the plugin beforehand (1.7) and read this information:

https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+...#PublishOver...-Remotedirectory

https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+...#PublishOver...-examples

The "Eg 3 Environment variables" works for variables that need be resolved only once (e.g $JOB_NAME/$BUILD_NUMBER)

However, this won't work with a variable $MY_JOB_PARAM that is defined as $JOB_NAME/$BUILD_NUMBER.

Would it be possible to have a mechanism to resolve the env variable more than once? Possibly, the level of resolution could be specified by a number to enter.


Originally reported by chantivlad, imported from: Remote directory of a Transfer Set should resolve env variable more than once
  • status: Closed
  • priority: Major
  • resolution: Incomplete
  • resolved: 2022-03-20T19:09:44+11:00
  • imported: 2022/01/10

[JENKINS-21083] Connection timed out

I have installed Publish Over FTP Plugin 1.9 on Jenkins 1.532 and configured it against a FileZilla Ftp server running on windows 7. I have verified that I can connect to the ftp server from a shell on the slave that runs my jobs.

But when I try to copy a single test.txt file using the Publish Over Ftp plugin (I have configured the server and tested in the master configuration) in a freeStyleProject I get:

FTP: Connecting from host [debian7-slave]
FTP: Connecting with configuration [fileshare] ...
FTP: Disconnecting configuration [fileshare] ...
ERROR: Exception when publishing, exception message [Connection timed out]
Build step 'Send build artifacts over FTP' changed build result to UNSTABLE
Finished: UNSTABLE

I have tried using this plugin instead:
http://wiki.hudson-ci.org/display/HUDSON/FTP-Publisher+Plugin

and it works fine with the same configuration.


Originally reported by jserup, imported from: Connection timed out
  • assignee: rajburnwal
  • status: Open
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10

[JENKINS-14514] Repeatable jelly tag appears to be broken in 1.474+

I used Jenkins 1.474 and installed the Publish Over SSH(1.7). I can configure the SSH server in the Configure System.
But it can't work at the job configure.

I clicked "Add post-build action" and selected "Send build artifacts over SSH" and than I clicked the button "Add Server" , and when I clicked the button "Add Transfer Set".there is no response. In the noraml we can see the label "Source files" and "Remove prefix" and others,what's wrong ? you can see the attend file"1.7.jpg"

we can see the label "Source files" and "Remove prefix" and others using the Publish Over SSH(1.4). you can see the attend file "1.4.jpg"


Originally reported by msfly, imported from: Repeatable jelly tag appears to be broken in 1.474+
  • assignee: jglick
  • status: Closed
  • priority: Blocker
  • resolution: Fixed
  • resolved: 2012-07-31T09:04:05+10:00
  • imported: 2022/01/10

[JENKINS-10364] Publish over FTP Plugin loses configuration when unchecking the box

Quite often teams will want to temporarily disable publishing. However, when they go to re-enable publishing, they find that their entire configuration has been lost. This discourages them from using this feature which we are trying to promote. Please add a "Disable publishing (i.e. temporarily)" checkbox to the job's configuration, so we can retain the configuration, but just temporarily disable publishing.

Note that I have implemented this feature for the FTP-Publisher Plugin, but since your plugin is under active development, it would be nice if it had all the features I need, and we could migrate to it once we move to a newer version of Jenkins that your plugin will support.

See https://wiki.jenkins-ci.org/display/JENKINS/FTP-Publisher+Plugin


Originally reported by jacob_robertson, imported from: Publish over FTP Plugin loses configuration when unchecking the box
  • assignee: bap
  • status: Closed
  • priority: Major
  • resolution: Fixed
  • resolved: 2011-11-07T23:42:06+11:00
  • imported: 2022/01/10

[JENKINS-63214] Could not write file: 522 SSL/TLS required (...)

After configuring the publish-over-ftp-plugin properly (Configuration test is successful) the plugin is not able to transfer the artifacts.

The directories are being created properly put not the artifacts.

Exception stack:

2020-07-26 19:11:20.369+0000 [id=595]   WARNING j.p.p.BPInstanceConfig#perform: An exception was caught when invoking perform
jenkins.plugins.publish_over.BapPublisherException: Could not write file. Server message: [522 SSL/TLS required on the data channel
]
at jenkins.plugins.publish_over_ftp.BapFtpClient.transferFile(BapFtpClient.java:139)
at jenkins.plugins.publish_over_ftp.BapFtpClient.transferFile(BapFtpClient.java:40)
at jenkins.plugins.publish_over.BPTransfer.transferFile(BPTransfer.java:171)
at jenkins.plugins.publish_over.BPTransfer.transfer(BPTransfer.java:155)
at jenkins.plugins.publish_over.BPTransfer.transfer(BPTransfer.java:142)
at jenkins.plugins.publish_over.BapPublisher$Performer.transfer(BapPublisher.java:276)
at jenkins.plugins.publish_over.BapPublisher$Performer.perform(BapPublisher.java:232)
at jenkins.plugins.publish_over.BapPublisher$Performer.access$000(BapPublisher.java:205)
at jenkins.plugins.publish_over.BapPublisher.perform(BapPublisher.java:158)
at jenkins.plugins.publish_over.BPCallablePublisher.invoke(BPCallablePublisher.java:65)
Caused: jenkins.plugins.publish_over.BapPublisherException: Exception when publishing, exception message [Could not write file. Server message: [522 SSL/TLS required on the data channel
]]
at jenkins.plugins.publish_over.BPCallablePublisher.invoke(BPCallablePublisher.java:69)
at jenkins.plugins.publish_over.BPCallablePublisher.invoke(BPCallablePublisher.java:38)
at hudson.FilePath.act(FilePath.java:1075)
at hudson.FilePath.act(FilePath.java:1058)
at jenkins.plugins.publish_over.BPInstanceConfig.perform(BPInstanceConfig.java:141)
at jenkins.plugins.publish_over.BPPlugin.perform(BPPlugin.java:126)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
at hudson.model.Run.execute(Run.java:1905)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:428)
getConfigPage -> /ci_skip_wrapper/config

Originally reported by joestr, imported from: Could not write file: 522 SSL/TLS required (...)
  • status: Open
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10

[JENKINS-37089] How to configure "Publish over FTP plugin", I got "534 Policy requires SSL" error.

I have installed Publish over FTP plugin for Jenkins. There is checkbox named Use FTP over TLS which i have already checked. One another text-box named Trusted Certificate, I have set below text (certificate text) here.

----BEGIN CERTIFICATE----
MIIE3TCCA8WgAwIBAgISESHdIpSQWOgXMNo3XneAFNF9MA0GCSqGSIb3DQEBCwUA
...................
...................
...................
...................
x7Yd2scxpGQbjq7F4EYd+kiZ9OUJWRqYnDGhRUyPDFitzxbs9LyfB/eclGiJcdSB
aA==
----END CERTIFICATE----

Also,I have added certification using below command.

keytool -import -alias ca -file base64.cer -keystore cacerts -storepass changeit

I am using Jenkins ver. 2.13. Every time it show below error when I run the job. My username and password are 100% correct. Don't know what I did wrong here.

Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test
FTP: Connecting from host [CIPL-6PC198]
FTP: Connecting with configuration [Invoice] ...
220 Microsoft FTP Service
AUTH TLS
234 AUTH command ok. Expecting TLS Negotiation.
FTP: Logging in, command printing disabled
FTP: Logged in, command printing enabled
CWD /
250 CWD command successful.
TYPE I
200 Type set to I.
CWD /
250 CWD command successful.
CWD bin
250 CWD command successful.
PASV
227 Entering Passive Mode (45,63,4,160,195,109).
STOR myfile.txt
534 Policy requires SSL.
FTP: Disconnecting configuration [Invoice] ...
ERROR: Exception when publishing, exception message [Could not write file. Server message: [534 Policy requires SSL.
]]
Build step 'Send build artifacts over FTP' changed build result to UNSTABLE
Finished: UNSTABLE

Can you suggest me what type configuration required or I missed out.


Originally reported by bhaveshsoft1, imported from: How to configure "Publish over FTP plugin", I got "534 Policy requires SSL" error.
  • status: Open
  • priority: Minor
  • resolution: Unresolved
  • imported: 2022/01/10

[JENKINS-20416] Publish over FTP main configuration data after jenkins server reboot

After jenkins server reboot, configuration is lost on main options menu. Build jobs save publish-over-ftp configuraions correctly.

Jenkins Log:

Nov 4, 2013 1:26:37 PM hudson.model.Descriptor load
WARNING: Failed to load /var/lib/jenkins/jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin.xml
hudson.util.IOException2: Unable to read /var/lib/jenkins/jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin.xml
at hudson.XmlFile.unmarshal(XmlFile.java:170)
at hudson.model.Descriptor.load(Descriptor.java:806)
at jenkins.plugins.publish_over_ftp.descriptor.BapFtpPublisherPluginDescriptor.(BapFtpPublisherPluginDescriptor.java:63)
at jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin$Descriptor.(BapFtpPublisherPlugin.java:82)
at jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin$Descriptor$$FastClassByGuice$$cbb8a5f6.newInstance()
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at hudson.ExtensionFinder$GuiceFinder$4$1.get(ExtensionFinder.java:422)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:391)
at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:382)
at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:318)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.iterator(ExtensionList.java:138)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1176)
at hudson.plugins.copyartifact.BuildSelectorParameter.initAliases(BuildSelectorParameter.java:99)
at hudson.plugins.copyartifact.CopyArtifactPlugin.postInitialize(CopyArtifactPlugin.java:35)
at hudson.PluginManager$2$1$2.run(PluginManager.java:353)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:888)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.thoughtworks.xstream.converters.ConversionException: object is not an instance of declaring class : object is not an instance of declaring class
---- Debugging information ----
message : object is not an instance of declaring class
cause-exception : java.lang.IllegalArgumentException
cause-message : object is not an instance of declaring class
class : jenkins.plugins.publish_over_ftp.BapFtpHostConfiguration
required-type : jenkins.plugins.publish_over_ftp.BapFtpHostConfiguration
converter-type : hudson.util.RobustReflectionConverter
path: /jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin$Descriptor/hostConfigurations/jenkins.plugins.publish_over_ftp.BapFtpHostConfiguration
line number : 14
class[1] : hudson.util.CopyOnWriteList
converter-type[1] : hudson.util.XStream2$AssociatedConverterImpl
class[2] : jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin$Descriptor
version : null
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:193)
at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:172)
at hudson.util.XStream2$AssociatedConverterImpl.unmarshal(XStream2.java:337)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:333)
at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:275)
at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:222)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1061)
at hudson.util.XStream2.unmarshal(XStream2.java:109)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1045)
at hudson.XmlFile.unmarshal(XmlFile.java:166)
... 37 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66)
at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:223)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
... 60 more


Originally reported by jonkirkham, imported from: Publish over FTP main configuration data after jenkins server reboot
  • assignee: slide_o_mix
  • status: Resolved
  • priority: Critical
  • resolution: Fixed
  • resolved: 2018-01-04T04:22:52+11:00
  • imported: 2022/01/10

[JENKINS-19182] Cancellation not working

First of all sorry, I'm not sure to which one of the plugins this is related to. We have a 160MB installer file as artifact that we upload to our website via a manual promotion which triggers a publish over FTP. During FTP upload, pressing the cancel button for the promotion does not work!


Originally reported by ventuz, imported from: Cancellation not working
  • status: Closed
  • priority: Major
  • resolution: Incomplete
  • resolved: 2019-05-03T03:19:12+10:00
  • imported: 2022/01/10

Clean remote option fails

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

Jenkins runs on Ubuntu 20.04, the FTP server is macOS Server.app, but I've seen that happen with other FTP servers as well.

Reproduction steps

  1. In a Jenkins Freestyle job, select Send build artifacts over FTP as a post build step
  2. Click Advanced
  3. Check Clean remote

Expected Results

I expect that existing files and directories in the target path are deleted, then the matching files are uploaded.

Actual Results

The log shows almost endlessly repeating MLSD attempts (I guess)

PASV
227 Entering Passive Mode (192,168,205,11,210,149)
MLSD
150 Opening BINARY mode data connection for 'MLSD'.
226 MLSD complete.
CWD /configured/path/on/the/server
250 CWD command successful.
PASV
227 Entering Passive Mode (192,168,205,11,210,150)
MLSD
150 Opening BINARY mode data connection for 'MLSD'.
226 MLSD complete.
CWD /configured/path/on/the/server
250 CWD command successful.
PASV
227 Entering Passive Mode (192,168,205,11,210,151)
MLSD
150 Opening BINARY mode data connection for 'MLSD'.
226 MLSD complete.
CWD /configured/path/on/the/server
250 CWD command successful.

Eventually the step fails

FTP: Disconnecting configuration [local.domain.net (Local Download Server)] ...
ERROR: Remote call on agent-1 failed

Anything else?

If I do not select the option Clean remote, the step works as expected.

It looks to me as if MLSD may not be supported and the plugin continues to use it anyway. I found the issue Client uses LIST output rather than using MLSD command, and there is a comment that says that the plugin would use LIST if MLSD is not supported, but that doesn't seem to work. However, that is just an assumption.

[JENKINS-49518] Directory is not created anymore

After reinstallation of jenkins I ended up with version 1.13 of the publish-over-ftp plugin (not sure, which version I had before, probably 1.12). I did not change the jenkins config (ftp host) nor the jenkins tasks. 

Behaviour before update: The remote directory was created on the ftp server

Behaviour after: The remote directory is not created anymore and the file cannot be uploaded.

 

Log of working jenkins task (before update of jenkins):

FTP: Connecting from host [2ea2fa14881a]
FTP: Connecting with configuration [ftp.xxx.at] ...
220 connected to ftp.xxx.at...
FTP: Logging in, command printing disabled
FTP: Logged in, command printing enabled
CWD /foo/bar/Upload
250 CWD command successful.
TYPE I
200 Type set to I.
CWD /foo/bar/Upload
250 CWD command successful.
CWD db_dump_2018-02-03_1056
550
MKD db_dump_2018-02-03_1056
257 "db_dump_2018-02-03_1056" directory created.
CWD db_dump_2018-02-03_1056
250 CWD command successful.
PASV
227 Entering Passive Mode (85,124,186,100,198,35).
STOR backup_latest.pgdump
125 Data connection already open; Transfer starting.
226 Transfer complete.
FTP: Disconnecting configuration [ftp.xxx.at] ...
FTP: Transferred 1 file(s)
Finished: SUCCESS

WIth the current plugin the log of the same jenkins task looks like:

FTP: Connecting from host [0dfc1108da61]
FTP: Connecting with configuration [ftp.xxx.at] ...
220 connected to ftp.xxx.at...
FTP: Logging in, command printing disabled
FTP: Logged in, command printing enabled
CWD /foo/bar/Upload
250 CWD command successful.
TYPE I
200 Type set to I.
CWD /foo/bar/Upload
250 CWD command successful.
CWD db_dump_2018-02-10_1056
FTP: Disconnecting configuration [ftp.xxx.at] ...
ERROR: Exception when publishing, exception message [Exception when changing to FTP directory [db_dump_2018-02-10_1056]]
Build step 'Send build artifacts over FTP' changed build result to UNSTABLE

What is missing is the

MKD db_dump_2018-02-03_1056

part now!

My global ftp server config contains the base directory /foo/bar/Upload

The jenkins ftp upload task has the remote directory set to "'db_dump_'yyyy-MM-dd_hhmm" with the "Remote directory is a date format" checked in Advanced config.

 

Testing with manual ftp trying to find out if the server has changed its behaviour - "cd not_existing_directory" returned an error code 550, but did not close the ftp connection.


Originally reported by cdaller, imported from: Directory is not created anymore
  • status: Open
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10

[JENKINS-18085] Support for FTPS is broken

Box used FTPS for connecting, but it's not working by using this plugin.
https://support.box.com/entries/23597576-Does-Box-support-FTP-connections-

Error log:

11:47:49 Archiving artifacts
11:47:52 [SCP] Connecting to ftp.box.com
11:49:52 ERROR: Failed to upload files
11:49:52 com.jcraft.jsch.JSchException: connection is closed by foreign host
11:49:52 at com.jcraft.jsch.Session.connect(Session.java:236)
11:49:52 at com.jcraft.jsch.Session.connect(Session.java:150)
11:49:52 at be.certipost.hudson.plugin.SCPSite.createSession(SCPSite.java:153)
11:49:52 at be.certipost.hudson.plugin.SCPRepositoryPublisher.perform(SCPRepositoryPublisher.java:160)
11:49:52 at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
11:49:52 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
11:49:52 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
11:49:52 at hudson.model.Build$BuildExecution.post2(Build.java:183)
11:49:52 at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
11:49:52 at hudson.model.Run.execute(Run.java:1600)
11:49:52 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
11:49:52 at hudson.model.ResourceController.execute(ResourceController.java:88)
11:49:52 at hudson.model.Executor.run(Executor.java:241)
11:49:52 Build step 'Publish artifacts to SCP Repository' changed build result to UNSTABLE
11:49:52 FTP: Connecting from host [bob-20130513]
11:49:52 FTP: Connecting with configuration [BOX.com] ...
11:50:20 FTP: Disconnecting configuration [BOX.com] ...
11:50:20 ERROR: Exception when publishing, exception message [IOException caught while copying.]
11:50:20 Notifying upstream projects of job completion
11:50:20 Finished: UNSTABLE


Originally reported by samxiao, imported from: Support for FTPS is broken
  • assignee: slide_o_mix
  • status: Closed
  • priority: Major
  • resolution: Incomplete
  • resolved: 2018-04-11T22:27:05+10:00
  • imported: 2022/01/10

[JENKINS-16976] [publish-over-ftp-1.8] upload creates unneeded folders

There are actually 2 flavors to the same bug (it should be maybe 2 bugs):
1. in non-flaten mode, if the uploaded file path is - for example - dir1/dir2/dir3/file.zip then it creates those folders in the FTP server: dir2, dir3, dir1/dir2/dir3 (where it puts the file). The creation of dir2 and dir3 is wrong!
2. in flaten and non-flaten modes, if the target folder has - for example - the format dir1/dir2/dir3, the created folders in the FTP server are: dir1, dir2 and dir3 while it should create only a structure of dir1/dir2/dir3 and puts it there


Originally reported by yorammi, imported from: [publish-over-ftp-1.8] upload creates unneeded folders
  • assignee: bap
  • status: Closed
  • priority: Major
  • resolution: Fixed
  • resolved: 2013-03-03T23:35:00+11:00
  • imported: 2022/01/10

[JENKINS-22217] Integrate with Jenkins Credentials Management

Would be great if the "Publish over CIFS" plugin would not provide its own authentication configuration, but simply integrate with the Jenkins Credentials Management. So admins can have all the credentials in one central place, and be assured that the same safety is guaranteed as with Jenkins itself.


Originally reported by mkarg, imported from: Integrate with Jenkins Credentials Management
  • status: Closed
  • priority: Major
  • resolution: Incomplete
  • resolved: 2022-03-20T19:09:44+11:00
  • imported: 2022/01/10

Getting "unsupporteed SSL message" on connection

Getting this error message when "Testing Configuration"
jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize FTP connection. Message: [javax.net.ssl.SSLException: Unsupported or unrecognized SSL message]

the link points to wireshark capture

[JENKINS-16681] Publish Over FTP 1.8 not working with spaces in filename/path of source files

"Transfer Set"/"Source Files" does not support spaces.

I want to transfer something like
Project/Output/Install Product.exe
Or possibly:
Project Output/*.exe

Quoting the path does not help.


Originally reported by fatpete, imported from: Publish Over FTP 1.8 not working with spaces in filename/path of source files
  • assignee: bap
  • status: Resolved
  • priority: Critical
  • resolution: Fixed
  • resolved: 2013-02-11T11:05:22+11:00
  • imported: 2022/01/10

[JENKINS-13653] chmod after publish over ftp

after publishing php files over ftp, we need them to be chmod to 755

i use clean install, and it resets the permissions, that need to be changed manually

can you please provide a checkbox to recursively chmod the dir uploaded with permissions specified?


Originally reported by mrkk, imported from: chmod after publish over ftp
  • status: Open
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10

[JENKINS-26550] publish over ftp plugin ver. 1.11 transfer 0 files

I'm not sure that this is problim with plugin, escpecially because I've never used it before. But after build is finished i see that no files were transfered. The cofiguration of ftp server is probably right, at least when i test configuration, i get success.
"ERROR: Exception when publishing, exception message [Connection reset]" - this is only ecxeption message in my build log.
i've looked through ftp server log and found this:
084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> 220-FileZilla Server version 0.9.41 beta
(084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> 220-written by Tim Kosse ([email protected])
(084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> 220 Please visit http://sourceforge.net/projects/filezilla/
(084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> USER jenkins
(084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> 331 Password required for jenkins
(084366)22.01.2015 15:16:56 - (not logged in) (92.39.135.230)> PASS *******
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> 230 Logged on
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> CWD /Jenkins
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> 250 CWD successful. "/Jenkins" is current directory.
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> TYPE I
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> 200 Type set to I
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> CWD /Jenkins
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> 250 CWD successful. "/Jenkins" is current directory.
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> PASV
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> 227 Entering Passive Mode (192,168,88,10,201,215)
(084366)22.01.2015 15:16:56 - jenkins (92.39.135.230)> disconnected.
It seems that jenkins connents to the server but doesn't even try to publish files.
Can you please help me solving this problem? Thanks in advance.


Originally reported by shkutu, imported from: publish over ftp plugin ver. 1.11 transfer 0 files
  • assignee: slide_o_mix
  • status: Closed
  • priority: Major
  • resolution: Cannot Reproduce
  • resolved: 2018-04-20T01:45:13+10:00
  • imported: 2022/01/10

[JENKINS-10094] Retry FTP Upload on bad connections

I'm uploading big files (50-150MB) to a FTP server via a household DSL connection each night. Twice or three times a week the connection fails while uploading. The entry in the log is:
ERROR: Exception when publishing, exception message [IOException caught while copying.]

It would be very nice if I could specify a number of time the upload is retried.


Originally reported by marcp, imported from: Retry FTP Upload on bad connections
  • assignee: bap
  • status: Closed
  • priority: Minor
  • resolution: Fixed
  • resolved: 2011-07-07T20:29:06+10:00
  • imported: 2022/01/10

[JENKINS-19180] Upload very slow

When uploading a large file, the upload is very slow. We found some reports of problems in the apache commons library and that one should either use setBufferSize or link against a more recent version. However, when I tried it it didn't seem to change anything... put I'm really just starting out with Jenkins development, so maybe I did something wrong.


Originally reported by ventuz, imported from: Upload very slow
  • status: Resolved
  • priority: Major
  • resolution: Cannot Reproduce
  • resolved: 2017-12-23T00:49:33+11:00
  • imported: 2022/01/10

[JENKINS-14283] Publish Over FTP - as Build Step

It should be a must that all Publish Over plugins can be setup as Build Steps (like Over SSH does).

I have the case where I want to upload a zip file to an FTP server, and then trigger the deploy of that zip.
I can't do it because the Over FTP can only be Post-build Step (and that is too late in my process).


Originally reported by katlimruiz, imported from: Publish Over FTP - as Build Step
  • assignee: bap
  • status: Closed
  • priority: Blocker
  • resolution: Fixed
  • resolved: 2012-07-10T06:48:58+10:00
  • imported: 2022/01/10

[JENKINS-37259] Client uses LIST output rather than using MLSD command.

The output of the LIST command is not defined, so parsing the output is error-prone.

The MLSD (and MLST) commands are defined in RFC 3659, provides a "machine readable" directory listing, with a well-defined format. Conformant servers advertise that they support the command (via FEAT), allowing clients to use MLSD command if the server supports it. Apache commons ftp client also supports the mlsd command, albeit via explicit commands.

The suggested improvement is that the publish-over-ftp uses MLSD command on servers that support it.


Originally reported by iepe1eet, imported from: Client uses LIST output rather than using MLSD command.
  • assignee: slide_o_mix
  • status: Resolved
  • priority: Minor
  • resolution: Fixed
  • resolved: 2017-12-21T01:37:12+11:00
  • imported: 2022/01/10

[JENKINS-51001] Publish over ftp didn't create folders on

Hi, I need help with the plugin 

When I try to send files to a FTP server, it doesn`t create the folder and subfolders if it not exists, How can I solve? 

 

INFORMACIÓN: INSTALAR OSPERYH PRODUCCION #38 main build action completed: SUCCESS
abr 24, 2018 3:47:25 PM jenkins.plugins.publish_over.BPCallablePublisher invoke
ADVERTENCIA: Exception when publishing, exception message [Exception when changing to FTP directory [account/components/clientAutoComplete]]
jenkins.plugins.publish_over.BapPublisherException: Exception when changing to FTP directory [account/components/clientAutoComplete]
at jenkins.plugins.publish_over_ftp.BapFtpClient.changeDirectory(BapFtpClient.java:73)
at jenkins.plugins.publish_over.BPTransfer$DirectoryMaker.changeOrMakeAndChangeDirectory(BPTransfer.java:275)
at jenkins.plugins.publish_over.BPTransfer$DirectoryMaker.chdir(BPTransfer.java:265)
at jenkins.plugins.publish_over.BPTransfer$DirectoryMaker.changeToTargetDirectory(BPTransfer.java:285)
at jenkins.plugins.publish_over.BPTransfer$DirectoryMaker.changeAndMakeDirs(BPTransfer.java:206)
at jenkins.plugins.publish_over.BPTransfer.transfer(BPTransfer.java:154)
at jenkins.plugins.publish_over.BPTransfer.transfer(BPTransfer.java:142)
at jenkins.plugins.publish_over.BapPublisher$Performer.transfer(BapPublisher.java:276)
at jenkins.plugins.publish_over.BapPublisher$Performer.perform(BapPublisher.java:232)
at jenkins.plugins.publish_over.BapPublisher$Performer.access$000(BapPublisher.java:205)
at jenkins.plugins.publish_over.BapPublisher.perform(BapPublisher.java:158)
at jenkins.plugins.publish_over.BPCallablePublisher.invoke(BPCallablePublisher.java:65)
at jenkins.plugins.publish_over.BPCallablePublisher.invoke(BPCallablePublisher.java:38)
at hudson.FilePath.act(FilePath.java:997)
at hudson.FilePath.act(FilePath.java:975)
at jenkins.plugins.publish_over.BPInstanceConfig.perform(BPInstanceConfig.java:141)
at jenkins.plugins.publish_over.BPPlugin.perform(BPPlugin.java:126)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
at hudson.model.Run.execute(Run.java:1749)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Caused by: org.apache.commons.net.MalformedServerReplyException: Truncated server reply: '550 '
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:374)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:300)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:523)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:648)
at org.apache.commons.net.ftp.FTP.cwd(FTP.java:868)
at org.apache.commons.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:1167)
at jenkins.plugins.publish_over_ftp.BapFtpClient.changeDirectory(BapFtpClient.java:71)
... 26 more

 

Thanks for help

 


Originally reported by michaelzapata, imported from: Publish over ftp didn't create folders on
  • assignee: slide_o_mix
  • status: Closed
  • priority: Major
  • resolution: Duplicate
  • resolved: 2018-07-20T23:25:30+10:00
  • imported: 2022/01/10

[JENKINS-62379] Migrate publish over FTP docs from wiki to plugin README

Migrate the publish over FTP plugin documentation from wiki.jenkins.io to documentation inside the publish over FTP plugin. Follow the plugin documentation migration instructions from jenkins.io to extract the Publish Over documentation from the wiki and placing it into the README in the FTP plugin.


Originally reported by markewaite, imported from: Migrate publish over FTP docs from wiki to plugin README
  • assignee: gmcdonald
  • status: Closed
  • priority: Minor
  • resolution: Fixed
  • resolved: 2022-03-21T03:58:25+11:00
  • imported: 2022/01/10

I’m having trouble with jenkins, public over FTP plugin

Jenkins and plugins versions report

Jenkins: 2.319.3
OS: Windows 10 - 10.0

publish-over:0.22
publish-over-ftp:1.16
publish-over-ssh:1.24

What Operating System are you using (both controller, and any agents involved in the problem)?

source: Windows 10
destination: Cloudlinux 7 FTP connect (cpanel)

Reproduction steps

  1. firstly I setup the plugin and set up 21 port FTP connections.
  2. I then set up the pipeline.
  3. and start jenkins job.

Below is my pipeline configuration:

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                script {
                echo 'Hello World'
                bat 'dir'
                }
            }
        }
		stage('Publish') {
            steps {
              ftpPublisher alwaysPublishFromMaster: false, continueOnError: false, failOnError: false, paramPublish: [parameterName:""], masterNodeName: '', publishers: [[configName: 'test', transfers: [[asciiMode: false, cleanRemote: false, excludes: '', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/public_html', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/*']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
			  }
        }
    }
}

Expected Results

The result I expected is that all files go to the target directory.

Actual Results

source has 7 directories and these directories also contain files. So there are too many files. The size of these files is 550 MB. However, only 2 directories are completely gone and nothing else is gone.

So the files are missing.

Anything else?

2 directories go successfully and other directories do not. When I examine the console output, the Connection reset expression draws attention. Having trouble sending all the files?

FTP: Connecting from host [buildserver]
FTP: Connecting with configuration [webpanel] ...
FTP: Disconnecting configuration [webpanel] ...
ERROR: Exception when publishing, exception message [Connection reset]

[JENKINS-10363] Allow "flatten files" to be selected by default

For 99% of our jobs, we will always want to flatten the files, and for new jobs, we prefer this option is already checked just to simplify the setup. We are working to encourage everyone to use the ftp publish functionality, so any little things like that are helpful.

Note that I have implemented this feature for the FTP-Publisher Plugin, but since your plugin is under active development, it would be nice if it had all the features I need, and we could migrate to it once we move to a newer version of Jenkins that your plugin will support.

See https://wiki.jenkins-ci.org/display/JENKINS/FTP-Publisher+Plugin


Originally reported by jacob_robertson, imported from: Allow "flatten files" to be selected by default
  • assignee: bap
  • status: Closed
  • priority: Major
  • resolution: Fixed
  • resolved: 2011-07-22T06:57:14+10:00
  • imported: 2022/01/10

[JENKINS-10365] Choose build trigger types that will result in publishing

Our teams use ftp publishing as a way to deploy ears to our development environment. This is a huge productivity gain over what we previously had. However, not all teams want the ear deployed from triggered builds. For example, we do poll scm each night, and on weekends, we do a timer trigger build. But some teams are saying they don't want the ear deployed on those triggered builds. (I can explain the reasons if you need me to)

Please add a feature something like a section that has checkboxes something like this

Publish on which of the following

  • Manual builds
  • "SCM Poll" builds
  • "Build periodically" builds

And probably have all 3 selected by default since that's the backwards compatible behavior. Another real nice-to-have would be to configure these defaults in the master configuration so that when a job configures ftp publishing for the first time, the most commonly used of these checkboxes (for the organization) is already setup.

Note that I may look into implementing this for the FTP-Publisher Plugin, but I would strongly prefer it gets rolled into this plugin which is more comprehensive and active. Please let me know how likely it is that this feature will get implemented. Also, let me know if you'd like me to look into implementing it for you.


Originally reported by jacob_robertson, imported from: Choose build trigger types that will result in publishing
  • assignee: bap
  • status: Closed
  • priority: Major
  • resolution: Fixed
  • resolved: 2011-12-21T23:30:57+11:00
  • imported: 2022/01/10

[JENKINS-21506] Make the ftp plugin retry connection a few times

(currently using plugin 1.10 - latest)

We are seeing builds failed because the ftp plugin can't establish connection. We already have a timeout value very high. Whenever that happens, resubmitting the build right away fixes it.

That's probably because of intermittent network connectivity problems. I think it would help us a lot of the ftp plugin could retry a few times connecting to the ftp server before giving up.


Originally reported by ttimo, imported from: Make the ftp plugin retry connection a few times
  • assignee: slide_o_mix
  • status: Resolved
  • priority: Major
  • resolution: Fixed
  • resolved: 2017-12-22T01:30:48+11:00
  • imported: 2022/01/10

ERROR: Exception when publishing, exception message [Could not write file. Server message: [534 Policy requires SSL. 22:28:03 ]]

Jenkins and plugins versions report

Environment
Jenkins: 2.289.3
OS: Windows Server 2016 - 10.0
Java: 1.8.0_171 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
Salve Node which is doing FTP has the Windows Server 2019 (amd64)
publish-over-ftp:1.16
--

---
JDK_Parameter_Plugin:1.0
ace-editor:1.1
active-directory:2.24
ant:1.11
antisamy-markup-formatter:2.1
apache-httpcomponents-client-4-api:4.5.13-1.0
artifactdeployer:1.2
atlassian-jira-software-cloud:1.4.4
audit-trail:3.10
authentication-tokens:1.4
authorize-project:1.4.0
aws-credentials:1.30
aws-java-sdk:1.11.995
batch-task:1.19
bootstrap4-api:4.6.0-3
bootstrap5-api:5.1.0-1
bouncycastle-api:2.22
branch-api:2.6.5
build-blocker-plugin:1.7.7
build-monitor-plugin:1.12+build.201809061734
build-name-setter:2.2.0
build-pipeline-plugin:1.5.8
build-publisher:1.22
build-timeout:1.20
build-user-vars-plugin:1.7
build-with-parameters:1.5.1
caffeine-api:2.9.2-29.v717aac953ff3
checks-api:1.7.2
cloudbees-credentials:3.3
cloudbees-disk-usage-simple:0.10
cloudbees-folder:6.16
command-launcher:1.6
conditional-buildstep:1.4.1
config-file-provider:3.8.1
configurationslicing:1.52
copyartifact:1.46.1
credentials:2.5
credentials-binding:1.27
dashboard-view:2.17
date-parameter:0.0.4
deploy:1.16
display-console-output:1.0.5
display-url-api:2.3.5
docker-commons:1.17
docker-workflow:1.26
dotnet-sdk:1.1.2
durable-task:1.39
echarts-api:5.1.2-9
email-ext:2.83
emailext-template:1.2
envfile:1.2
envinject:2.4.0
envinject-api:1.7
extended-read-permission:3.2
external-monitor-job:1.7
file-operations:1.11
folder-auth:1.3
folder-properties:1.2.1
font-awesome-api:5.15.3-4
ftppublisher:1.2
git:4.8.1
git-client:3.9.0
git-server:1.10
github:1.33.1
github-api:1.123
github-branch-source:2.11.2
github-pullrequest:0.3.0
gradle:1.37.1
handlebars:3.0.8
htmlpublisher:1.25
hudson-wsclean-plugin:1.0.8
icon-shim:3.0.0
jackson2-api:2.12.4
javadoc:1.6
jdk-tool:1.5
jira:3.5
jjwt-api:0.11.2-9.c8b45b8bb173
job-log-logger-plugin:1.0
jobConfigHistory:2.28.1
jquery:1.12.4-1
jquery-detached:1.2.1
jquery3-api:3.6.0-2
jsch:0.1.55.2
junit:1.52
ldap:2.7
lockable-resources:2.11
mailer:1.34
mapdb-api:1.0.9.0
mask-passwords:3.0
matrix-auth:2.6.8
matrix-project:1.19
maven-plugin:3.12
momentjs:1.1.1
monitoring:1.88.0
msbuild:1.30
multiple-scms:0.8
nodejs:1.4.0
nuget:1.1
octopusdeploy:3.1.3
okhttp-api:3.14.9
pam-auth:1.6
parameterized-trigger:2.41
pipeline-build-step:2.15
pipeline-github-lib:1.0
pipeline-graph-analysis:1.11
pipeline-input-step:2.12
pipeline-milestone-step:1.3.2
pipeline-model-api:1.9.1
pipeline-model-declarative-agent:1.1.1
pipeline-model-definition:1.9.1
pipeline-model-extensions:1.9.1
pipeline-rest-api:2.19
pipeline-stage-step:2.5
pipeline-stage-tags-metadata:1.9.1
pipeline-stage-view:2.19
plain-credentials:1.7
plugin-usage-plugin:1.2
plugin-util-api:2.4.0
popper-api:1.16.1-2
popper2-api:2.9.3-1
powershell:1.5
preSCMbuildstep:0.3
publish-over:0.22
publish-over-ftp:1.16
publish-over-ssh:1.22
purge-build-queue-plugin:1.0
purge-job-history:1.6
resource-disposer:0.16
run-condition:1.5
saml:2.0.7
scm-api:2.6.5
script-security:1.78
simple-theme-plugin:0.7
snakeyaml-api:1.29.1
ssh:2.6.1
ssh-agent:1.23
ssh-credentials:1.19
ssh-slaves:1.32.0
ssh2easy:1.4
sshd:3.1.0
structs:1.23
subversion:2.14.4
thinBackup:1.10
timestamper:1.13
token-macro:266.v44a80cf277fd
trilead-api:1.0.13
variant:1.4
was-builder:1.6.1
websphere-deployer:1.6.1
windows-slaves:1.8
workflow-aggregator:2.6
workflow-api:2.46
workflow-basic-steps:2.23
workflow-cps:2.93
workflow-cps-global-lib:2.21
workflow-durable-task-step:2.39
workflow-job:2.41
workflow-multibranch:2.26
workflow-scm-step:2.13
workflow-step-api:2.24
workflow-support:3.8
ws-cleanup:0.39

What Operating System are you using (both controller, and any agents involved in the problem)?

Master which is doing the slave node is having the "Windows Server 2016 - 10.0"
Salve Node which is doing FTP has the Windows Server 2019 (amd64)

Reproduction steps

Using the Jenkins 2.289.3 version.
Using the "Publish Over FTP" plugin version 1.17,
Under "Manage Jenkins"->"Configure System" in the "Publish over FTP" section use the "Use FTP over TLS" option is checked and provided the certificate in the "Trusted Certificate" which copied from the certificate file present on the client machine, on testing the connection using the "Test Configuration" get the Success messsage.

In the freestyle Jenkins job, under the "Post-build Actions", configure the "Send build artifacts over the FTP".
On running the Jenkins job, on remote server where FTP is setup in the IIS it is able to create the directory 'SRE_DEV_J311' and subfolder in it.
Unable to transfer the srepointapi.war to subfolder under the 'SRE_DEV_J311' folder.

Generate the following output in Jenkins console:

22:28:03 FTP: Connecting from host [AWSCMNJNKBSL41]
22:28:03 FTP: Connecting with configuration [AssurePolicy QAT APP - SREQATASPAPP] ...
22:28:03 220 Microsoft FTP Service
22:28:03 AUTH TLS
22:28:03 234 AUTH command ok. Expecting TLS Negotiation.
22:28:03 FTP: Logging in, command printing disabled
22:28:03 FTP: Logged in, command printing enabled
22:28:03 CWD upload
22:28:03 250 CWD command successful.
22:28:03 FTP: Remote root is not absolute, getting absolute directory from PWD
22:28:03 PWD
22:28:03 257 "/upload" is current directory.
22:28:03 TYPE I
22:28:03 200 Type set to I.
22:28:03 CWD /upload
22:28:03 250 CWD command successful.
22:28:03 CWD SRE_DEV_J311/SRE_DEV_20240306
22:28:03 250 CWD command successful.
22:28:03 PASV
22:28:03 227 Entering Passive Mode (10,7,240,136,222,189).
22:28:03 STOR srepointapi.war
22:28:03 534 Policy requires SSL.
22:28:03 FTP: Disconnecting configuration [AssurePolicy QAT APP - SREQATASPAPP] ...
22:28:03 ERROR: Exception when publishing, exception message [Could not write file. Server message: [534 Policy requires SSL.
22:28:03 ]]
22:28:03 Build step 'Send build artifacts over FTP' changed build result to UNSTABLE

Manualy using the WINSCP tool on the AWSCMNJNKBSL41 server, able to create a file in the subfolder under the folder 'SRE_DEV_J311' using the FTP protocol,
"TLS/SSL Explicit encryption" with same credentials without the certifiacte file in picture that is used on Jenkins.
2024_03_07_01_01_36_Mailing_Lists
2024_03_06_22_30_06_SRE_DEV_J311_API_FTP_Config_Jenkins_
IIS7_Remote_Desktop_Connection
IIS6_Remote_Desktop_Connection
2024_03_07_01_15_32_10 7 240 136_Remote_Desktop_Connection
IIS5_Remote_Desktop_Connection
IIS4_Remote_Desktop_Connection
IIS3_Remote_Desktop_Connection
IIS2_Remote_Desktop_Connection
IIS1_Remote_Desktop_Connection
IIS1_

Expected Results

Similar Kind of Output.
06:01:48 Total time: 24 seconds
06:02:27 FTP: Connecting from host [AWSCMNJNKBSL3]
06:02:28 FTP: Connecting with configuration [New AWS DEV/QAT - SREQATPIJX] ...
06:02:28 FTP: Disconnecting configuration [New AWS DEV/QAT - SREQATPIJX] ...
06:02:28 FTP: Transferred 2 ( 1 + 1 ) file(s)
06:02:28 Finished: SUCCESS

Actual Results

22:28:03 FTP: Connecting from host [AWSCMNJNKBSL41]
22:28:03 FTP: Connecting with configuration [AssurePolicy QAT APP - SREQATASPAPP] ...
22:28:03 220 Microsoft FTP Service
22:28:03 AUTH TLS
22:28:03 234 AUTH command ok. Expecting TLS Negotiation.
22:28:03 FTP: Logging in, command printing disabled
22:28:03 FTP: Logged in, command printing enabled
22:28:03 CWD upload
22:28:03 250 CWD command successful.
22:28:03 FTP: Remote root is not absolute, getting absolute directory from PWD
22:28:03 PWD
22:28:03 257 "/upload" is current directory.
22:28:03 TYPE I
22:28:03 200 Type set to I.
22:28:03 CWD /upload
22:28:03 250 CWD command successful.
22:28:03 CWD SRE_DEV_J311/SRE_DEV_20240306
22:28:03 250 CWD command successful.
22:28:03 PASV
22:28:03 227 Entering Passive Mode (10,7,240,136,222,189).
22:28:03 STOR srepointapi.war
22:28:03 534 Policy requires SSL.
22:28:03 FTP: Disconnecting configuration [AssurePolicy QAT APP - SREQATASPAPP] ...
22:28:03 ERROR: Exception when publishing, exception message [Could not write file. Server message: [534 Policy requires SSL.
22:28:03 ]]
22:28:03 Build step 'Send build artifacts over FTP' changed build result to UNSTABLE

Anything else?

No response

Are you interested in contributing a fix?

Not have code insight, can test the suggested solution at my end.

[JENKINS-10679] Allow 'Source Files' to point to somewhere outside of workspace folder

We're attempting to post the build logs to an ftp server for archiving purposes before we delete them from the Jenkins server. So, we'd like to be able to use this plugin (unless you have a different solution ) to do so. I've tried various different values in the 'Source Files' field with no success, including absolute and relative paths:

  • "${WORKSPACE}/builds/Foo/."
  • ../builds/Foo/.

Originally reported by noahhoffman, imported from: Allow 'Source Files' to point to somewhere outside of workspace folder
  • assignee: bap
  • status: Closed
  • priority: Major
  • resolution: Won't Fix
  • resolved: 2011-11-07T23:27:04+11:00
  • imported: 2022/01/10

[JENKINS-17165] "Publish over FTP" plugin with version 1.9 does'nt work after Jenkins upgrade to Version 1.504

I upgraded my Jenkins to Version 1.504, afer that "Publish over FTP" plugin with version 1.9 does'nt work. Suspecting Is it the issue after Jenkins upgrade or else issue is with the plugin.

Please kindly investigate on "publish over ftp" plug-in with version 1.9.

Thanks..


Originally reported by rkbejawar, imported from: "Publish over FTP" plugin with version 1.9 does'nt work after Jenkins upgrade to Version 1.504
  • assignee: bap
  • status: Resolved
  • priority: Major
  • resolution: Fixed
  • resolved: 2017-12-23T00:52:47+11:00
  • imported: 2022/01/10

How to show FTP transfered file names in Jenkins console

Describe your use-case which is not covered by existing documentation.

I'm using your FTP plugin to transfer builds to a server, and while it reports "FTP: transfered 1 file(s)" there doesn't seem to be an option to show the local and/or remote file name.

Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.

No response

Are you interested in contributing to the documentation?

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.