我将这个命令写在管道中,用于在服务器上上传站点。
sh 'curl -T /var/lib/jenkins/workspace/Angular-CI-CD--Test_develop/dist/ang-CICD ftp://XXXXX:XXXX@XXXXXXXX/public_html'
但是它显示了这个错误:
curl: (25) Failed FTP upload: 553
script returned exit code 25
我把这个命令写在本地文件夹:
ls -ld /var/lib/jenkins/workspace/Angular-CI-CD--Test_develop/dist/ang-CICD
drwxr-xr-x 2 jenkins jenkins 4096 Mar 9 12:42/var/lib/jenkins/workspace/angular - ci - cd—Test_develop/dist/ang-CICD
如何解决这个问题?
失败可能是以下原因之一:
-
我可以看到你试图上传的文件实际上是一个目录而不是文件。您可以运行下面的循环来逐个上传目录下的所有文件:
sh """for file in /main/folder1/path/* do curl -u Pass:"Uname" -T $file http://www.example.com/folder/$file done
"">
-
服务器上传需要认证。你可以试着用用户名&密码如:Sh 'curl -u "user:pwd"-T/var/lib/jenkin/workspace/angular - ci - cd—Test_develop/dist/ang-CICD ftp://XXXXX:XXXX@XXXXXXXX/public_html'
-
553错误码直接来自远程FTP服务器。文件名不允许。许多FTP服务器对文件名有限制。如果文件名中包含特殊字符、符号或空格,可能会被远程FTP服务器拒绝