Gitlab CI 删除用户附件和上传文件

Gitlab CI removes user attachments and uploaded files

我正在使用 GitGitlab。 使用 Gitlab CI pipelines (.gitlab-ci.yml file) 我正在尝试将我的项目部署到共享主机。

它工作正常,但是当管道运行时,它会删除用户附件、个人资料图片、文档和用户直接上传到主机的所有文件,而这些文件不存在于 git master 分支中。
我应该怎么做才能让 Gitlab 忽略我的 uploads 文件夹和管道中的所有子文件夹?

这里有 .gitignore 个文件:

.idea
files/

这是我的 .gitlab-ci.yml 文件:

deploy:
  script:
  - apt-get update -qq && apt-get install -y -qq lftp
  - lftp -c "set ftp:ssl-allow no; open -u "USER","PASSWORD" "HOST"; mirror -Rnev ./ ./public_html --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
  only:
  - master

这与 Git 无关,与您的 lftp 命令有关。当您使用 lftp 上传数据时,您正在使用 -e (--delete) 选项 mirror,手册页将其指定为“删除不存在的文件”来源”。由于您上传的文件不在源中,因此已被删除。

如果你想继续使用这个选项,你需要将你的uploads文件夹从同一个根目录移到一个单独的目录;否则,您应该停止使用此选项。