我想要一个私有(private) pub 服务器,只有我的团队可以在其中发布和检索包,遗憾的是我没有找到有关 pub 服务器部署的任何文档。
我下载了 pub server并成功将其部署到appengine。
我现在想知道 /admin
私钥部分应该包含哪些值以及它们的用途。它们是否用于对尝试访问包的用户进行身份验证?
最佳答案
这里需要考虑两个方面:
REST API:
第一个方面是拥有一个私有(private)的 pub 包存储库,(可能是有限数量的)开发人员可以向其发布和访问包。这里所需的功能是一个狭窄的类似 REST 的 API。有关此 API 的描述可以在 here 中找到。 .
UI 层和其他内容
第二个方面是在私有(private) pub 包存储库之上拥有一个 Web UI,开发人员可以在其中搜索包、发现它们、查看上传的版本等。
pub.dartlang.org 的实现
pub.dartlang.org 网站试图同时解决这两方面的问题。它并不打算被其他用户重复使用(尽管有可能)。 python version该站点处于维护模式。 dart version目前是为了替换 python 版本而编写的。它将以与 python 版本完全相同的功能和行为开始。
由于 REST api 与固定的 ATM 很接近,因此它仅实现一次并且可以在 pub 服务器之间共享是有意义的。因此,我们尝试将这个共享代码放入一个公共(public)的package:pub_server中。包。
如果您打算重复使用 pub.dartlang.org 代码,请参阅以下说明:该应用程序是 AppEngine 应用程序,并将 tarball 存储在 Google Cloud Storage 中。该网站的搜索功能基于 Google 的自定义搜索 API。元数据存储在数据存储中。用于读/写访问 GCS 存储桶和自定义搜索 API 的私钥存储在数据存储中并将延迟加载。 dart 版本目前还可以使用 ServiceAccount 凭据和数据存储区的 REST api 在 AppEngine 之外运行(您可以在 bin/server_io.dart 中看到管道层。源代码中包含一些有限的配置数据集(例如服务帐户电子邮件、 GCS 存储桶名称)。
关于google-app-engine - 如何运行私有(private) dart pub 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29300574/