git pull
, кажется, заменяет файлы (создает новый файл и перемещает его) вместо записи в существующие файлы.Следовательно, у него нет возможности сохранить права собственности - вновь созданные файлы создаются с владельцем процесса, gitlab-runner/gitlab-runner
пользователь / группа.Чтобы исправить это, запустите git pull
под другим пользователем, например, sudo
.Либо
sudo -u apache /home/gitlab-runner/.local/bin/deploy.sh
в gitlab-ci.yml
или
sudo -u apache git pull origin master
в deploy.sh
.Пожалуйста, не забывайте, что sudo
запрашивает пароль, поэтому вам нужно настроить его , чтобы выполнить команды без пароля.
Чтобы сохранить разрешения, попробуйте установить umask 055
вdeploy.sh
перед запуском git pull
.