如何运行私人飞镖酒吧服务器

时间:2015-03-27 12:22:40

标签: google-app-engine dart dart-pub

我想要一个私人酒吧服务器,只有我的团队可以发布和检索软件包,遗憾的是我还没有找到关于酒吧服务器部署的任何文档。

我下载了pub server并将其成功部署到appengine。

我现在想知道/admin私钥部分应该包含哪些值,以及它们的用途。它们是否用于验证尝试访问软件包的用户?

1 个答案:

答案 0 :(得分:2)

这里有两个方面需要考虑:

REST api:

第一个方面是拥有一个私人酒吧包存储库(可能是有限数量的)开发人员可以发布&访问包。这里需要的功能是一个类似REST的API。可以找到此API的外观,here

UI Layer&其他事情

第二个方面是在私有pub包存储库之上,有一个Web UI,开发人员可以在其上搜索包,发现它们,查看上载的版本等。

pub.dartlang.org的实现

pub.dartlang.org网站试图同时解决这两个方面。它不打算重复用于其他用户(即使它可能)。站点的python version处于维护模式。目前编写dart version来替换python版本。它将从完全相同的功能开始作为python版本的行为。

由于REST api接近于固定的ATM,因此它只实现一次并且可以在pub服务器之间共享。因此,我们尝试将此共享代码放入一个通用的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存储桶名称。)