0

我有兴趣构建一个 github 应用程序。通读 github设置您的开发环境以创建 GitHub 应用程序文档它解释了 github 应用程序基于将处理 webhook 的 http 服务器。

然而,在我安装的每个 github 应用程序上,app\installation 不需要任何涉及托管和/或创建 http 服务器的操作,以便将应用程序部署到我的 github 帐户。

对于直接通过 github 市场安装的此类 github 应用程序(您可以将probot stalerennovate作为此类应用程序的示例)

  1. 这些应用程序在哪里运行?(例如;github 是否将应用程序部署在专用(虚拟)服务器上?)。
  2. 此类应用程序的资源限制是什么(内存量、cpu 等?)
  3. 安装此类应用程序的 github 帐户所有者如何访问 github 应用程序日志?

参考链接和答案会很棒。

4

2 回答 2

0

GitHub App 只是您创建的另一个应用程序。在与 GitHub 集成时,GitHub 应用程序被视为一等公民。可以使用 Nodejs、Ruby 等来构建应用程序。一旦应用程序准备就绪,它就可以像任何其他服务器托管应用程序一样托管在服务器上。您通过提供相关详细信息在 GitHub 上注册您的应用程序。

所以,来回答你的问题。

  1. 这些应用程序可以在您选择的任何托管服务上运行。它可以是 Windows Server、Heroku 等。
  2. 我相信它仅受您的服务器资源或您选择的托管服务提供商的限制。但是,您可能无法在此处了解有关速率限制的更多信息。
  3. GitHub 应用程序日志只有开发人员才能看到。对于最终用户,即在他的 repos 上安装了 GitHub 应用程序的 repo 所有者,所有可用的只是应用程序开发人员决定显示的检查、状态和任何其他详细信息。

关于部署和其他详细信息的非常方便的指南:Probot 文档。如果您打算使用 probot 框架来开发您的 github 应用程序,那么这个文档非常有用,但是如果您决定选择不同的技术堆栈,大多数说明仍然适用。

于 2021-05-27T11:18:03.487 回答
0

关于(所谓的?)Github 应用程序最重要的一点是应用程序本身不能在任何地方运行——或者至少我会这么认为。基本上 Github 应用程序是两个链接机制,都是一些基础设施。这些机制中的第一个是访问控制,基本上取代了用户 PAT 的使用 - 您可以对安装应用程序的存储库提供相对细粒度的访问权限,而不仅仅是授予用户可以访问的所有存储库的访问权限。第二种机制是 webhook 的机制——根据请求生成事件。

Github 应用程序没有直接提供的是这两者之间的一点——处理 webhook 和使用应用程序生成 API 调用以进行访问。基本上你是一个人,需要自己做。@asif-kamran-malick 提到的好处是,您可以自由地以您认为合适的方式实施它。

另一种可能性是应用程序本身,而不是设置为处理正在进行的 Webhook,而是在安装时运行,并希望将操作添加到存储库中。从来没有做过,但一些 github 示例似乎以这种方式工作。当然,Actions 在 Github 环境中运行,并且可能受到资源限制。但除此之外,Action 是完全独立的“野兽”,不应混淆。

于 2021-06-14T09:25:40.230 回答