R: Автоматическое развертывание сервера Git + Shiny

У меня есть установка сервера Shiny и репозиторий Git для моего приложения Shiny. Я разрабатываю свое приложение Shiny и отправляю его в репозиторий Git, и я хочу, чтобы сервер Shiny загружал последнюю версию приложения из репозитория Git. Как я могу это сделать? В настоящее время я вручную обновляю папку сервера Shiny для приложения, используя git pull каждый раз, когда я загружаю новую версию приложения в репозиторий с моей машины разработки, но я хочу исключить этот шаг из процесса.


person tchakravarty    schedule 17.04.2015    source источник


Ответы (1)


Вы можете использовать git-хук. Git-хуки позволяют вам запускать скрипт всякий раз, когда действие завершено. Внутри вашей папки .git есть папка hooks с примерами.

Если вы пошли по этому пути, вы, вероятно, захотите использовать хук после получения, который срабатывает всякий раз, когда вы нажимаете на репо, и сервер завершает получение новых коммитов.

Дополнительную информацию о git-хуках можно найти здесь: http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

Вот часть, касающаяся хуков после получения:

после получения

Ловушка после получения запускается после завершения всего процесса и может использоваться для обновления других служб или уведомления пользователей. Он принимает те же данные stdin, что и хук pre-receive. Примеры включают отправку списка по электронной почте, уведомление сервера непрерывной интеграции или обновление системы отслеживания заявок — вы даже можете анализировать сообщения фиксации, чтобы увидеть, нужно ли открывать, изменять или закрывать какие-либо заявки. Этот скрипт не может остановить процесс отправки, но клиент не отключается, пока он не завершится, поэтому будьте осторожны, если вы пытаетесь сделать что-то, что может занять много времени.

Вот пример:

#!/bin/bash
cd ~/webapps/site/ || exit
unset GIT_DIR
git pull
person Seichleon    schedule 17.04.2015
comment
Спасибо, это может занять некоторое время, чтобы разобрать, но я попробую и дам вам знать. - person tchakravarty; 17.04.2015