Gitlab runner удаляет некоторые файлы / папки на сервере

#django #gitlab-ci #gitlab-ci-runner

# #django #gitlab-ci #gitlab-ci-runner

Вопрос:

Я развертываю проект Django на сервере Centos 7 с помощью gitlab runner.

Каждый раз, когда я фиксирую и запускаю проект, gitlab runner пытается удалить папки (например, папку мультимедиа), которых нет в репозитории gitlab (находятся в .gitignore).

Я не хочу, чтобы gitlab runner удалял медиафайлы.

Как я могу игнорировать удаление некоторых файлов и папок, когда gitlab runner запускает свою работу?

Заранее спасибо.

Ответ №1:

Я нашел ответ.

Я поместил медиа-папку inside проекта в корневой статический / media, поэтому каждый раз, когда gitlab runner удаляет все файлы и папки, которых нет в каталоге проекта в gitlab (также в папке media).

Просто я помещаю эту медиа-папку outside проекта.

бывший MEDIA_ROOT в settings.py:

 MEDIA_ROOT= os.path.join(BASE_DIR, 'static/media/')
 

изменил его на:

 MEDIA_ROOT = '/home/gitlab-runner/builds/path-to-some-folder-outside-of-the-project-root/media/'
 

прежняя конфигурация nginx:

 location /media/ {
    alias /home/gitlab-runner/builds/path-to-my-project/static/media/ ;
}
 

изменено на:

 location /media/ {
    alias /home/gitlab-runner/builds/path-to-some-folder-outside-of-the-project-root/media/ ;
}
 

Надеюсь, это поможет всем, у кого есть эта проблема.