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



我一直在尝试通过 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'- 当我删除该步骤时,它会到达用户,并且如果我在它前面添加 lftp,我会得到bash: user: command not found我会得到lftp: user: Name or service not known

我认为我总共尝试了超过 30+ 次来正确处理这些,但没有运气。

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

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

  1. 使用错误的命令行参数调用lftpset 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命令。

因此,请查看如何将 stdin 发送到带有 bitbucket 的程序。(有关 stdin 的信息:在以下解释 shell 如何工作的教程中,它被称为"输入":http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_01_03 (

最新更新