【问题标题】:R: Git + Shiny server automated deploymentR:Git + Shiny 服务器自动化部署
【发布时间】:2015-06-23 22:04:15
【问题描述】:

我有一个 Shiny 服务器安装和一个用于我的 Shiny 应用程序的 Git 存储库。我开发了我的 Shiny 应用程序并将其推送到 Git 存储库,我希望 Shiny 服务器从 Git 存储库加载最新版本的应用程序。我怎样才能做到这一点?我目前使用git pull 手动更新应用程序的闪亮服务器文件夹,每次我将应用程序的新版本从我的开发机器推送到存储库时,但我想从流程中删除这一步。

【问题讨论】:

    标签: r git shiny shiny-server


    【解决方案1】:

    你可以使用 git 钩子。 Git 挂钩允许您在操作完成时运行脚本。在您的 .git 文件夹中有带有示例的 hooks 文件夹。

    如果您采用这种方式,您可能希望使用 post-receive 挂钩,该挂钩在您推送到 repo 并且服务器完成接收新提交时触发。

    你可以在这里找到更多关于 git hooks 的信息:http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

    这是关于接收后挂钩的部分:

    接收后

    post-receive 钩子在整个过程结束后运行 已完成并可用于更新其他服务或通知用户。它 采用与预接收挂钩相同的标准输入数据。例子包括 通过电子邮件发送列表,通知持续集成服务器,或 更新票证跟踪系统——你甚至可以解析提交 消息以查看是否需要打开、修改或关闭任何工单。 此脚本无法停止推送过程,但客户端不会 断开连接直到它完成,所以如果你尝试这样做,请小心 任何可能需要很长时间的事情。

    这是一个例子:

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

    【讨论】:

    • 谢谢,这可能需要我一段时间来解析,但我会尝试并告诉你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2018-10-19
    • 1970-01-01
    • 2011-05-11
    • 2012-12-11
    • 2014-08-06
    相关资源
    最近更新 更多