我正在尝试使用 jenkins 自动执行 sftp 上传和替换,以便 sftp 服务器上的文件夹等于 git 存储库。这是使用托管在运行 nginx 的 openshift 上的 sftp,该 nginx 仅支持使用 ssh 密钥的 ftp,我已经使用他们的 rhc 客户端生成了该密钥。我已经能够使用https://blog.openshift.com/using-filezilla-and-sftp-on-windows-with-openshift/上的说明使用 filezilla 轻松连接到 sftp 。
我发现最有用和最省时的方法是使用一个名为 git-ftp 的工具。
对于使用用户名、密码和 ftp 服务器域的 ftp 来说,这些步骤非常简单。我正在努力让它使用我的 ssh 密钥执行 sftp。这是我找到的一个站点,其中包含有关要使用的命令的最佳文档。参考: http: //manpages.ubuntu.com/manpages/trusty/man1/git-ftp.1.html。
我按照本指南获取 Jenkins 自动化设置 https://www.savjee.be/2016/02/Use-Jenkins-and-git-ftp-to-deploy-website-to-shared-webhosting/。但是,这并没有显示使用 sftp 的命令。
我使用https://tohin.wordpress.com/2014/02/11/git-and-sftp/尝试了一些不同的命令,但运气不佳。
假设这适用于仅提供用户名、密码和 ftp 服务器的 ftp:
git ftp init --user USERNAME --passwd PASSWORD ftp://YOUR-FTP-SERVER-ADDRESS/path/to/website/
我已经将我的调整为:
git ftp init -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto>
但这给我带来了一些错误。
我想在初始化它并确保 sftp 工作后执行 git ftp push。例如
git ftp push -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto>
有人可以指出我的错误吗?