我一直在尝试通过 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 设置。这就是你实际在做的事情:
- 使用错误的命令行参数调用
lftp
set ssl:verify-certificate no
。 lftp
退出并显示错误消息set: Name or service not known
。即使您在步骤 1 中在 lftp 中获得了设置,由于退出,它现在也会被清除。- 您使用(可能(正确的命令行参数"$FTP_HOST"调用
lftp
。 - 现在'lftp'退出了,可能是因为它在stdin上没有命令。
- 你的意思是去所有其他命令(用户,密码,ls,quit(去lftp作为stdin,但根据日志,它们被视为进一步的shell命令。
因此,请查看如何将 stdin 发送到带有 bitbucket 的程序。(有关 stdin 的信息:在以下解释 shell 如何工作的教程中,它被称为"输入":http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_01_03 (