【问题标题】:How to upload to FTP from Travis CI如何从 Travis CI 上传到 FTP
【发布时间】:2014-10-27 14:11:44
【问题描述】:

构建步骤完成后,我需要将 Travis 根目录中的所有文件上传到 FTP 服务器。 Travis CI's documentation for custom deployment 建议使用 curl 发送文件。不幸的是 curl FTP 上传不支持 globing,这使得大量文件实际上是不可能的。

如何确保我的整个目录(包括所有文件和子目录)都上传到 FTP?

有没有一种优雅的方法可以做到这一点,还是依靠 grunt 等工具上传到 FTP 更好?

【问题讨论】:

    标签: curl ftp gruntjs travis-ci


    【解决方案1】:

    Travis 文档只说你应该在after_success: 部分做这种事情。指定的命令只是一个例子。

    所以,从您的计算机中执行您想要的操作,然后将您使用的命令序列放入 after_success: 部分。

    如果我正确理解您的需求,就您而言,创建一个存档(使用tar)然后上传(使用curl 或直接使用ftp)应该可以工作。

    【讨论】:

    • @stephanlindauer : 如果我的回答对您有帮助,或者您需要更多帮助,请告诉我。
    • 感谢您的回答。我真正需要的是一种上传多个文件的方法。如果我只是上传一个 tar,那么就会遇到无法从我的构建作业中触发解压缩该 tar 的问题。我现在做事的方式就是使用 grunt 将所有文件上传到我的 ftp 服务器。
    【解决方案2】:
    1. 使用 find 命令添加除特定文件夹之外的所有内容。
    2. 在“设置”菜单中添加环境变量SFTP_USERSFTP_PASSWORD

    这是我的 yml:

    language: node_js
    after_success:
    - find . -type d \( -path "./.*" -o -path "./node_modules" \) -prune -o -name "*" -print -exec curl --ftp-create-dirs -T {} ftp://your.server.com/dir/ --user ${SFTP_USER}:${SFTP_PASSWORD} \;
    

    【讨论】:

      【解决方案3】:

      有时下面的链接会有所帮助。它关于 node_js 应用程序中的 FTP 部署。

      Travis build with nodejs en custom ftp

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-03
        • 2014-06-10
        • 2021-06-13
        • 2018-02-10
        • 1970-01-01
        • 2019-10-29
        • 2014-04-21
        • 2021-11-21
        相关资源
        最近更新 更多