2015-04-17 3 views
3

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

ответ

2

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

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

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

Вот часть относительно после приема крюков:

после приема

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

Вот пример:

#!/bin/bash 
cd ~/webapps/site/ || exit 
unset GIT_DIR 
git pull 
+1

Спасибо, это может занять меня некоторое время, чтобы разобрать, но я постараюсь его и дам вам знать. – tchakravarty

Смежные вопросы