gitlab Webhook запускает URL-адрес production .php для извлечения файлов из ветки Master — безопасно и правильно ли это?

gitlab Webhook запускает URL-адрес production .php для извлечения файлов из ветки Master — безопасно и правильно ли это?

это мой первый опыт изучения webhook и автоматического развертывания с gitlab на рабочем сервере (digital ocean)

Я активирую URL (http://example.com/git/hook/pull-master.php) на веб-перехватчике всякий раз, когда я отправляю файлы с моего локального компьютера.

и ниже приведены коды pull-master.php:

$cmd = "git pull https://usr:[email protected]/johndoe/project.git master"; echo shell_exec($cmd);

Могу я знать

  1. Безопасен ли указанный выше метод авторазвертывания?
  2. Может ли на производственном сервере быть .gitпапки? Предположим, что каталог проекта в .git составляет около 100 МБ ~ 500 МБ.

Безопасен ли описанный выше метод автоматического развертывания? Является ли это обычным способом, с помощью которого разработчики автоматически развертывают коды на своих промежуточных/производственных серверах?

решение1

Я думаю, что это будет нормально, если вы запретите публичный доступ к своему каталогу .git.

Проверитьhttps://gist.github.com/nichtich/5290675#file-deploy-phpдля более подробной версии того, что вы делаете.

Связанный контент