Linux LFTP通过FTPS连接和镜像文件夹,无需在bitbucket管道上进行证书验证

问题描述 投票:0回答:1

我一直试图通过bitbucket管道+ lftp部署我的dist文件夹已经有一段时间了。我已经尝试了linux命令的各种变体,并在这个问题上经历了几十篇文章但我仍然无法使用它。

到目前为止,我的管道命令如下所示:

  - apt-get update
  - apt-get install lftp
  - lftp set ssl:verify-certificate no
  - lftp $FTP_HOST
  - user $FTP_USER
  - $FTP_PASSWORD
  - ls
  - quit

但是为了集合我得到'lftp: set: Name or service not known' - 当我删除它到达用户的步骤,我得到bash: user: command not found如果我在它前面添加lftp我得到lftp: user: Name or service not known

我想总的来说,我已经尝试了30多次,没有运气。

linux ftp bitbucket bitbucket-pipelines lftp
1个回答
1
投票

我没有完整的解决方案,因为我不知道bitbucket,但我清楚地看到一个错误:

您无法在后续命令调用中更改lftp设置。这就是你实际做的事情:

  1. 你用错误的命令行参数lftp调用set ssl:verify-certificate no
  2. lftp退出,错误消息set: Name or service not known。即使你在第1步中获得了lftp内的设置,它也会因为退出而被清除。
  3. 你用(可能)正确的命令行参数'$ FTP_HOST'调用lftp
  4. 现在'lftp'退出了,可能是因为它在stdin上没有命令。
  5. 你的意思是将所有其他命令(用户,密码,ls,quit)转到lftp作为stdin,但根据日志,它们被视为进一步的shell命令。

那么请看看如何使用bitbucket将stdin发送到程序。 (有关stdin的信息:它在下面的教程中被称为“输入”,它解释了shell的工作原理:http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_01_03

© www.soinside.com 2019 - 2024. All rights reserved.