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

Symlink resolution #103

Open Mathieu4D opened 5 years ago

Mathieu4D commented 5 years ago

I have some MacOS applications to upload on a samba server (on a windows server). I am very happy to use this plugin because I haven't to mount the remote shares. But when I upload my app containing symlinks, the result on the share is not symlink but the resolution of the symlink.

I use the DNS only name resolution, and I set a username password.

On macOS (source):

x.app/Contents/Frameworks/zlib.framework
lrwxr-xr-x  1 user group 26  7 sep 10:59 Resources -> Versions/Current/Resources
drwxr-xr-x  4 user group 128  7 sep 10:59 Versions
lrwxr-xr-x  1 user group 21  7 sep 10:59 zlib -> Versions/Current/zlib

On Windows share (target):

x.app/Contents/Frameworks/zlib.framework
drwx------  1 user group 16384 26 sep 00:06 Resources/
drwx------  1 user group 16384 26 sep 00:05 Versions/
-rwx------  1 user group  77084 26 sep 00:06 zlib*

If I use a simple cp to copy the files with mounted volumes on the same share, the symlinks are preserved. Perhaps, I have to add some config options to do the job, but which one and where. Thank you for your help.

nskvortsov commented 5 years ago

Hello, Thank you for the description. Unfortunately, symlinks preservation is not yet implemented. Should be doable using smbj library.

Mathieu4D commented 5 years ago

Thank you for your quick answer. If there are some readers, I have a workaround using zip files. I zip my app before I upload the file then I unzip when I used it. 2 steps more but quicker ans safer for the moment.

I think you can convert the issue to improvement.

nskvortsov commented 5 years ago

thanks for sharing the workaround!