仅上传更改的文件,而不是 gitlab 中的所有文件



我的目标是只上传更改的文件,而不是通过 ftp 从 gitlab 上传所有文件

image: ubuntu:18.04
deploy:
only:
- master
script:
- apt-get update -qy
- apt-get install -y lftp
- lftp -e "set ssl:verify-certificate no; open -u $FTP_USERNAME1,$FTP_PASSWORD1 $FTP_SERVER1; mirror -Rnev / /  --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"

每当我提交 gitlab 部署脚本时,它都会将所有文件与服务器匹配,然后上传新文件。 但是与服务器匹配需要很长时间。

所以,我想要一个脚本,该脚本仅通过 gitlab 的 FTP 上传服务器中的更改

如果您的服务器支持 SSH,则可以使用 rsync 并仅同步已修改的文件,如下所示:

rsync -a source destination 

在这里,您可以找到有关它的更多信息。

您可以尝试一些 lftp 设置来加快同步速度:

将 ftp:同步模式设置为关闭

将 ftp:use-stat-for-list 设置为

还要启用调试以查看大部分时间的去向。

相关内容

  • 没有找到相关文章

最新更新