Gitlab CI удаляет пользовательские вложения и загруженные файлы - PullRequest
0 голосов
/ 24 ноября 2018

Я использую Git и Gitlab .Используя Gitlab CI pipelines (.gitlab-ci.yml file) Я пытаюсь развернуть свой проект на общем хосте.

Работает нормально, но при запуске конвейера удаляет пользовательские вложения, изображения профилей, документы и все файлы, которые пользователи загружают непосредственно на хост, и эти файлы не существуют в основной ветке git.
Что следует сделатьЯ делаю, чтобы 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

1 Ответ

0 голосов
/ 24 ноября 2018

Это не имеет никакого отношения к Git и всему, что связано с вашей командой lftp.Когда вы загружаете данные с помощью lftp, вы используете параметр -e (--delete) для mirror, который указывается на странице руководства как «удалить файлы, отсутствующие в источнике».Поскольку ваши загружаемые файлы отсутствуют в источнике, они удаляются.

Если вы хотите продолжить использовать эту опцию, вам нужно переместить вашу папку загрузки из того же корня в отдельный каталог.;в противном случае вам следует прекратить использование этой опции.

...