【问题标题】:LFTP reverse mirror to remote server not uploading changed filesLFTP反向镜像到远程服务器不上传更改的文件
【发布时间】:2019-05-19 18:22:26
【问题描述】:

我正在尝试使用 Gitlab 及其 CI/CD 工具将我的网站自动部署到远程服务器。我正在使用一个名为 middleman 的静态站点生成器,它将所有文件生成到构建文件夹中。这在本地工作,如果我要手动上传文件,它将准确地反映我想要的。问题是使用以下命令时,尽管它正确生成了所有文件;

$ lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rv build/ ./public_html  --delete-first --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"

这就是最终被吐出来的东西;

Removing old file `stylesheets/styles-bb5541bd.css'
Removing old file `stylesheets/styles-bb5541bd.css.gz'
Transferring file `stylesheets/styles-4deda93b.css'
Transferring file `stylesheets/styles-4deda93b.css.gz'

如您所见,我正在使用资产散列,但这里它正在更新样式表散列,但没有将其反映在显然会引用新散列的各个 HTML 文件中……给出了什么?文件本身已更新,但未上传。

非常感谢您对此的任何帮助。

【问题讨论】:

  • 你整理好了吗?你在用 url_for 吗?
  • 面临同样的问题!你是怎么解决的?

标签: gitlab middleman lftp


【解决方案1】:

对您来说可能为时已晚,但问题是“--ignore-time”。如果文件大小保持不变,则不会重新上传。因此,在您的 html 文件中从 'stylesheets/styles-bb5541bd.css' 更改为 'stylesheets/styles-4deda93b.css' 不会改变大小,因此不会被镜像。

更新: 由于直接使用 LFTP 的这些问题,我现在使用 git-ftp。

这是我的 .gitlab-ci.yml

https://gist.github.com/westhouseit/5310a21ca6e6218ebc20ba94530bb0a6

和.git-ftp-ignore

https://gist.github.com/westhouseit/d3e84f3c26d733b286c0481f957052ef

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多