如何在本地服务器上托管私有 WinGet 存储库?

如何在本地服务器上托管私有 WinGet 存储库?

我想使用winget管理公司的应用程序,我想设置自己的来源在我的其中一台本地 Windows 服务器上。

我发现了一个参考实现但似乎需要使用 Azure / Cosmos DB,而我并不想这样做。我希望所有这些都在 IIS / SQL Server 中实现,就像你吃巧克力一样

有没有什么办法可以做到呢?

答案1

您添加一个源,它可以是任何 http/https 地址(但目前不是 \server\share 的 unc 路径)。结构需要遵循与 Microsoft 的 github 相同的清单文件夹结构: https://github.com/microsoft/winget-pkgs/tree/master/manifests

[编辑] 过去几天我一直在尝试这个。 SSL 证书实际上是必需的(我读过的其他文章说 http 被证明是不正确的)。参考实现指定了 CosmoDB,但有一个模拟器可以在本地而不是 Azure 上运行。事实上,任何 NoSQL 实现都可能有效,例如 mongodb/Apache CouchDB。其余大部分需要 Azure 租赁和订阅。可能可以自行托管并手动重写提供的 VS 代码,但目前没有这方面的文档或参考实现,所以遗憾的是我认为这还不是用于生产的实用解决方案。我们将推迟并坚持使用 chocolatey(支持 http(s) 和 UNC 文件共享路径等),直到这种情况有所改善。

答案2

您可以使用winget专业版,一个开源的私有 winget 存储库实现,不需要 Azure。它可以在 Docker 或 Linux VPS 上运行。目前,它不支持 IIS/SQL Server。相反,它将版本信息存储在 SQLite 数据库和文件中,本地或 S3 兼容存储中。

相关内容