JetBrains / teamcity-deployer-plugin

Deployer plugin for TeamCity CI server
http://confluence.jetbrains.net/display/TW/Deployer+plugin
Apache License 2.0
39 stars 29 forks source link

SSH Deploy painfully slow #26

Closed nskvortsov closed 8 years ago

nskvortsov commented 9 years ago

When deploying changes even if the change is 1 file it constantly takes around 2 minutes to deploy is something wrong with my configuration or what?Dev Configuration -- TeamCity 2014-03-17 11-34-49 2014-03-17 11-35-10.jpg


nskvortsov commented 9 years ago

I guess it would help to mention im deploying a php project but i only need to push the changed files over to the remote server


Original comment by: Clark Tomlinson

nskvortsov commented 9 years ago

Clark,

The plugin does not have any notion of changed files. Each time, all files are uploaded.


Original comment by: Nikita Skvortsov

nskvortsov commented 9 years ago

there is no plan to do incremental ssh deploy. If incremental deploy is absolutely necessary, please fall back to command line runner and rsync


Original comment by: Nikita Skvortsov

tgourley commented 9 years ago

This relates to a problem I am having as well. I have a very large project, but the SSH upload took 2.5 hours because of its large size. I need to only copy over the changed files. It is a Windows-based install (meaning no rsync.) Is there anything I can do to only upload changed files?

nskvortsov commented 9 years ago

@tgourley at this point, the incremental upload is not supported (yet). Could you please tell, what type of SSH upload do you use (SFTP or SCP)? How do you do the deployment outside TeamCity (e.g., from your workstation)?

nskvortsov commented 8 years ago

Duplicates #58

alexykot commented 8 years ago

I'd say that there should be an option to have "rsync" as a transport protocol, with option to pass flags to it. Then those who need complex or large syncing would be able to use deployer plugin with needed settings and without a need to manually configure environment for rsync, while simple upload options will be still handled by SCP/SFTP.

nskvortsov commented 8 years ago

Alex, are you aware of any good rsync client libraries for jvm? 17 мая 2016 г. 0:55 пользователь "Alex Kotenko" notifications@github.com написал:

I'd say that there should be an option to have "rsync" as a transport protocol, with option to pass flags to it. Then those who need complex or large syncing would be able to use deployer plugin with needed settings and without a need to manually configure environment for rsync, while simple upload options will be still handled by SCP/SFTP.

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/JetBrains/teamcity-deployer-plugin/issues/26#issuecomment-219560556

Maxim-Mazurok commented 6 years ago

@nskvortsov, Is perlundq/yajsync library good for this purpose?

are you aware of any good rsync client libraries for jvm?

nskvortsov commented 6 years ago

@Maxim-Mazurok thank you for the link. I did not try this library. As the deployer plugin is now bundled with the TeamCity distribution, it should follow general compatibility requirements that include all agent-side code being Java 6 compatible. Using this rsync lib (and updating the smb lib) will require out-of-process implementation using Java 8.