How to use Jenkins shell command to copy files but excluding some directories
本问题已经有最佳答案,请猛点这里访问。
在Jenkins的工作中,我有一个构建步骤,它执行如下shell命令:
1 2 | rm -rf /var/www/www.example.com/* find . \( -not -path '*/.svn/*' \) -exec cp -rv {} /var/www/www.example.com \; |
但是,每当那些文件夹中的文件(如…/classes/.svn/props)仍然被复制时。
我查看了查找命令手册,命令的格式似乎是正确的。为什么它不起作用?另外,在结尾放分号的目的是什么?我从某个地方复制了这个——)
我花了几个小时在这上面,但仍然不能使它工作,所以很痛苦。也许使用rsync是更好的选择。
您将忽略find命令中的.svn目录,但之后您将进行目录的递归复制,因此如果目录包含.svn目录,您仍将复制它。(而且您的命令也会执行大量的副本)
除了SVN文件之外,还有很多复制目录的选项——在您的例子中,我将从删除-r开始。
如果上面的内容不起作用的话,谷歌"复制没有SVN目录的文件"会提供很多不同的选项。