我想将全球 Hackage 数据库快照成一个冻结的、较小的数据库,以供我公司部署。怎样才能最轻松地将 Hackage 的某些片段复制到私人服务器上?
4 回答
这是一个以最简单的方式执行此操作的脚本:https ://github.com/jamwt/mirror-hackage
您还可以直接从 hackage2 存储库中使用 MirrorClient:http ://code.haskell.org/hackage-server/
这不是标题中问题的两个答案,而是对我对 OP 希望实现的目标的解释的答案。
根据您对生产圈稳定性水平的要求,您可以通过多种方式解决问题。
我将依赖项分为两部分,我可以在 haskell 平台中使用的东西(保留生产中使用的每个平台),然后只使用少量的包,不要让任何人(包括你自己)添加只是因为懒惰(作为开发人员),更多的包进入你的依赖树。这些额外的包你使用某种脚本,并通过使用 cabal fetch 从 hackage(锁定到版本)中收集。保证他们的安全。创建一个使用您的安全包的安装脚本,如果将新机器(开发人员)添加到您的团队,请使用该脚本。
yackage 很棒,但这一切都取决于你如何运送你的产品。如果您在生产中有较旧的版本,则需要为每个版本进行 yackage 设置,几年后这可能会很烦人。
您可以使用 Voker57 的 hackage-mirror.sh 下载Hackage。你需要'curl'才能运行。如果您使用的是基于 Debian 的 Linux 发行版,则可以通过键入apt-get install curl 来安装 curl。