首页 > 解决方案 > Gitlab runner 删除服务器上的一些文件/文件夹

问题描述

我正在使用gitlab runner在Centos 7服务器上部署一个 Django 项目。

每次我提交并推送项目时,gitlab runner 都会尝试删除不在 gitlab 存储库中(位于 .gitignore 上)的文件夹(例如媒体文件夹)。

我不希望 gitlab runner 删除媒体文件。

当 gitlab runner 开始工作时,我如何忽略删除一些文件和文件夹?

提前致谢。

标签: djangogitlab-cigitlab-ci-runner

解决方案


我找到了答案。

我已经将inside项目的媒体文件夹放在了根目录static/media中,所以每次gitlab runner都会删除gitlab中项目目录中没有的所有文件和文件夹(也是媒体文件夹)。

简单地说,我放了项目的那个媒体文件夹outside

settings.py 中的前 MEDIA_ROOT:

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/ ;
}

希望它可以帮助任何有这个问题的人。


推荐阅读