Git + Shiny服务器自动化部署

3
我有一个Shiny服务器安装程序和一个用于我的Shiny应用程序的Git存储库。我开发Shiny应用程序并将其推送到Git存储库,我希望Shiny服务器从Git存储库加载应用程序的最新版本。我该怎么做?目前,每当我从我的开发机器向存储库推送新版本的应用程序时,我都会使用git pull手动更新应用程序的Shiny服务器文件夹,但我想削减这个步骤。
1个回答

3
您可以使用Git钩子。Git钩子允许您在完成操作时运行脚本。在您的.git文件夹中,有一个包含示例的hooks文件夹。
如果您选择这种方式,您可能希望使用post-receive钩子,该钩子会在您推送到仓库并且服务器完成接收新提交时触发。
您可以在此处找到有关Git钩子的更多信息:http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks 以下是关于post-receive钩子的部分内容: post-receive 在整个过程完成后运行post-receive钩子,可用于更新其他服务或通知用户。它接收与pre-receive钩子相同的标准输入数据。例如,可以通过电子邮件向列表发送通知、通知持续集成服务器或更新票务跟踪系统 - 您甚至可以解析提交消息以查看是否需要打开、修改或关闭任何票据。此脚本无法停止推送过程,但客户端在完成之前不会断开连接,因此如果尝试执行可能需要很长时间的操作,请小心。
以下是一个例子:
#!/bin/bash
cd ~/webapps/site/ || exit
unset GIT_DIR
git pull

1
谢谢,这可能需要我一些时间来解析,但我会尝试并让你知道。 - tchakravarty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接