我有这个文件夹src/public/uploads
,其中包含我的应用程序的用户上传的所有图像。当然,这些图像不会上传到存储库。
问题是,当我启动管道时,gitlab-runner
自动从服务器中删除此文件夹。这很奇怪,因为我已经用:
git rm -r --cached --ignore-unmatch src/public/uploads
也,在那个文件夹里我有一个.gitkeep
文件。这是我的.gitlab-ci.yml
:
image: docker/compose:1.28.6
services:
- docker:dind
variables:
GIT_CLEAN_FLAGS: -x -f -e src/public/uploads/**
deploy:
stage: deploy
tags:
- production
only:
- master
script:
- cp ~/razor/docker/.env .
- cp ~/razor/app/.env ./src
- cp ~/razor/app/www.conf ./docker/php-fpm/config
- cp ~/razor/app/authsources.php ./src/app/Config/Simplesaml/config
- cp ~/razor/app/config.php ./src/app/Config/Simplesaml/config
- docker-compose up --build -d
我添加了这个:GIT_CLEAN_FLAGS: -x -f -e src/public/uploads/**
防止移除,但同样的问题。
这是.gitignore
:
.env
src/app/Config/Simplesaml/config/authsources.php
src/app/Config/Simplesaml/config/config.php
src/public/uploads
修复使用以下配置:
image: docker/compose:1.28.6
services:
- docker:dind
variables:
GIT_CLEAN_FLAGS: none
deploy:
stage: deploy
tags:
- production
only:
- master
script:
- cp ~/razor/docker/.env .
- cp ~/razor/app/.env ./src
- cp ~/razor/app/www.conf ./docker/php-fpm/config
- cp ~/razor/app/authsources.php ./src/app/Config/Simplesaml/config
- cp ~/razor/app/config.php ./src/app/Config/Simplesaml/config
- docker-compose up --build -d
基本上我已经将选项GIT_CLEAN_FLAGS
设置为none
,它只是在远程禁用清理,因此每个未跟踪的文件在管道作业结束后仍然存在。