Gitlab-runner 删除远程文件,尽管 .gitignore
Gitlab-runner deletes files on remote, despite .gitignore
我试图找到这个问题的解决方案,但找不到。
问题:
我们在 /public/img/InfoNews/example.png
中有图像文件,每次我们推送更新时 gitlab-runner 都会删除远程上的这些文件。
我们的 .gitignore
中有 /public/img/InfoNews
这会阻止 git 上传本地文件,但不会出于某种原因删除该文件夹中的远程文件。
我尝试将此路径添加到 .gitlab-ci.yml
中的缓存和工件,但没有成功
向正确的方向推动表示赞赏。
我们的.gitlab-ci.yml
:
cache:
paths:
- vendor/
- public/img/
deploy:
stage: deploy
script:
- php artisan cache:clear
- rm -rf vendor/
- composer install
- echo "$env" > "$(pwd)/.env"
- php artisan migrate
artifacts:
paths:
- .env
- public/img/
编辑:
我也试过了
cache:
untracked: true
paths:
- vendor/
- public/img/
但它仍然会删除文件。
我自己修好了。
Gitlab-runner 在结帐后运行 git clean
并且无论出于何种原因默认忽略 .gitignore
文件。
为了防止文件被删除,您必须将其添加到您的 gitlab-ci.yml`:
variables:
GIT_CLEAN_FLAGS: -x -f -e public/**
-x 忽略 .gitignore 文件 -f 强制清理,-e 从清理中排除文件,** 表示每个文件和文件夹
我试图找到这个问题的解决方案,但找不到。
问题:
我们在 /public/img/InfoNews/example.png
中有图像文件,每次我们推送更新时 gitlab-runner 都会删除远程上的这些文件。
我们的 .gitignore
中有 /public/img/InfoNews
这会阻止 git 上传本地文件,但不会出于某种原因删除该文件夹中的远程文件。
我尝试将此路径添加到 .gitlab-ci.yml
中的缓存和工件,但没有成功
向正确的方向推动表示赞赏。
我们的.gitlab-ci.yml
:
cache:
paths:
- vendor/
- public/img/
deploy:
stage: deploy
script:
- php artisan cache:clear
- rm -rf vendor/
- composer install
- echo "$env" > "$(pwd)/.env"
- php artisan migrate
artifacts:
paths:
- .env
- public/img/
编辑:
我也试过了
cache:
untracked: true
paths:
- vendor/
- public/img/
但它仍然会删除文件。
我自己修好了。
Gitlab-runner 在结帐后运行 git clean
并且无论出于何种原因默认忽略 .gitignore
文件。
为了防止文件被删除,您必须将其添加到您的 gitlab-ci.yml`:
variables:
GIT_CLEAN_FLAGS: -x -f -e public/**
-x 忽略 .gitignore 文件 -f 强制清理,-e 从清理中排除文件,** 表示每个文件和文件夹