【问题标题】:How to run private dart pub server如何运行私人飞镖酒吧服务器
【发布时间】:2015-03-27 12:22:40
【问题描述】:

我想要一个只有我的团队才能发布和检索包的私有 pub 服务器,遗憾的是我没有找到关于 pub 服务器部署的任何文档。

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

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

【问题讨论】:

  • 我没有回答你的问题。在 Dart Google 组和 dartbug.com 中有一些关于如何配置它的讨论。我想指出有一种新方法,在 Dart 中重写 github.com/dart-lang/pub-dartlang-dart
  • 感谢您的评论。不过,dart 版本的文档似乎更少。是否有任何预计到达时间?

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


【解决方案1】:

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

REST 接口:

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

UI 层和其他东西

第二个方面是在私有 pub 包存储库之上拥有一个 Web UI,开发人员可以在该 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 存储桶名称)。

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多