Team Services includes a new build and release task, FTP Upload. Now your Team Services build or release can upload files using FTP or FTPS. The FTP Upload task is cross-platform and does not require additional dependencies. This task is available today in Team Services and will be available in the next version of Team Foundation Server for on-premises installations.
All connections are made securely with FTPS whether the service endpoint specifies ftp:// or ftps://, as long as the target server supports FTPS. You can restrict uploads to only use FTPS by specifying the ftps:// protocol (and thereby fail if the target FTP server does not support FTPS).
File selection is controlled using mini-match patterns to allow for fine-tuned selection (or you can simply specify ** to upload all files). Advanced options allow further upload customization, for cleaning, overwriting, preserving relative file paths, and trusting self-signed server certificates. Your builds and releases now have the flexibility to upload entire folder structures, precisely-selected individual files to overwrite an existing structure, or even flatten directory structures when uploaded to the FTP server.
This build and release task is open source. Contributions are welcome, and feel free to use these as a pattern to create your own extensions in the Team Services Marketplace. If you have any suggestions or find issues, reach out to us on GitHub.
Also check out Team Services for Java.