cnpm / cnpmcore

Private NPM Registry for Enterprise
https://npmmirror.com
MIT License
573 stars 78 forks source link

请问,部署完成后怎么进行包同步呢 #664

Closed aimeiyijia closed 1 month ago

aimeiyijia commented 3 months ago

感谢

github-actions[bot] commented 3 months ago

我们已经看到你的反馈,如果是功能缺陷,可以提供一下重现该问题的方式;如果是新功能需求,我们会尽快加入讨论。同时我们非常期待你可以加入我们的贡献者行列,让项目可以长期可持续发展。

aimeiyijia commented 3 months ago

如何全量同步npm呢

hezhengxu2018 commented 3 months ago

syncMode设成all就会进行全量同步

aimeiyijia commented 3 months ago

syncMode设成all就会进行全量同步

image

我设置成了all,但是没发现有同步,

hezhengxu2018 commented 3 months ago

定时任务每5分钟会从https://www.npmjs.com/browse/updated获取最近同步的包创建更新任务。

https://github.com/cnpm/cnpmcore/blob/ebc212c1c4f0f45b54951c19c3ca785e2c6b32f9/app/port/schedule/CheckRecentlyUpdatedPackages.ts#L32 可以打断点看一下是不是创建同步任务的时候出了问题

aimeiyijia commented 3 months ago

定时任务每5分钟会从https://www.npmjs.com/browse/updated获取最近同步的包创建更新任务。

https://github.com/cnpm/cnpmcore/blob/ebc212c1c4f0f45b54951c19c3ca785e2c6b32f9/app/port/schedule/CheckRecentlyUpdatedPackages.ts#L32

可以打断点看一下是不是创建同步任务的时候出了问题

我是用cnpmcore npm包搭的

aimeiyijia commented 3 months ago

定时任务每5分钟会从https://www.npmjs.com/browse/updated获取最近同步的包创建更新任务。

https://github.com/cnpm/cnpmcore/blob/ebc212c1c4f0f45b54951c19c3ca785e2c6b32f9/app/port/schedule/CheckRecentlyUpdatedPackages.ts#L32

可以打断点看一下是不是创建同步任务的时候出了问题

hello tegg那个项目,自己发布的包能在存储器上看到,但是没全量同步npm

aimeiyijia commented 3 months ago

The scheduled task will obtain the recently synchronized package creation and update task from https://www.npmjs.com/browse/updated every 5 minutes.

https://github.com/cnpm/cnpmcore/blob/ebc212c1c4f0f45b54951c19c3ca785e2c6b32f9/app/port/schedule/CheckRecentlyUpdatedPackages.ts#L32

You can break the point to see if there is a problem when creating the synchronization task.

CheckRecentlyUpdatedPackages.subscribe:error][1] request https://www.npmjs.com/browse/updated?offset=36 error: HttpClientConnectTimeoutError: Connect Timeout Error 连接超时 不知道为什么

elrrrrrrr commented 3 months ago

全量包同步目前分为几个步骤。

  1. 存量部分: 通过脚本来触发同步任务,脚本可以参考:ref
  2. 增量部分: 通过管理员账号,调用 POST /-/registry/:registryId/sync 初始化 changesStream 同步任务,接口将实时订阅上游 registry 相关变更。参数可以传入 {since: 76030010} 表示从目前 registry 最近的变更开始同步
elrrrrrrr commented 3 months ago

定时任务每5分钟会从https://www.npmjs.com/browse/updated获取最近同步的包创建更新任务。

这个是辅助同步,防止 npm 官方的 registry changesStream 不太稳定。

elrrrrrrr commented 3 months ago

@aimeiyijia 目前还缺一个比较细致的启动文档,方便的话可以一起补充下需求背景及目前的 registry、users 相关配置和 db 内数据

aimeiyijia commented 3 months ago

2. registryId

不太明白,registryId从哪里来的

aimeiyijia commented 3 months ago

@aimeiyijia 目前还缺一个比较细致的启动文档,方便的话可以一起补充下需求背景及目前的 registry、users 相关配置和 db 内数据

主要需求是在内网部署一个仓库,然后定期到外网同步f

aimeiyijia commented 3 months ago

2. /-/registry/:registryId/sync 第二部理解不了

elrrrrrrr commented 3 months ago

@aimeiyijia

我添加了一个启动文档,看看是否能解决你遇到的问题。

过程中如果遇到其他问题,可以一起反馈 🙏🏻 我将尽量补充到文档中。

aimeiyijia commented 3 months ago

@aimeiyijia

我添加了一个启动文档,看看是否能解决你遇到的问题。

过程中如果遇到其他问题,可以一起反馈 🙏🏻 我将尽量补充到文档中。 谢谢,我试着操作一下

aimeiyijia commented 3 months ago

CheckRecentlyUpdatedPackages.subscribe:error][1] request https://www.npmjs.com/browse/updated?offset=36 error: HttpClientConnectTimeoutError: Connect Timeout Error 还是一直报错,history_tasks表里全是fail

aimeiyijia commented 3 months ago

@elrrrrrrr

elrrrrrrr commented 3 months ago

@aimeiyijia 直接用 cnpm 源同步?

https://github.com/cnpm/cnpmcore/blob/docs-sync/docs/sync-setup.md#-%E4%BD%BF%E7%94%A8-cnpm-%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%9A%84%E5%90%8C%E6%AD%A5%E6%BA%90

这个报错应该是网络问题,试试 curl -vvv 'https://www.npmjs.com/browse/updated?offset=36' 能访问吗?

aimeiyijia commented 2 months ago

@aimeiyijia 直接用 cnpm 源同步?

https://github.com/cnpm/cnpmcore/blob/docs-sync/docs/sync-setup.md#-%E4%BD%BF%E7%94%A8-cnpm-%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%9A%84%E5%90%8C%E6%AD%A5%E6%BA%90

这个报错应该是网络问题,试试 curl -vvv 'https://www.npmjs.com/browse/updated?offset=36' 能访问吗?

不能访问,但是不知道为啥,换了几个电脑,网络环境也换了

aimeiyijia commented 2 months ago

@aimeiyijia 直接用 cnpm 源同步?

https://github.com/cnpm/cnpmcore/blob/docs-sync/docs/sync-setup.md#-%E4%BD%BF%E7%94%A8-cnpm-%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%9A%84%E5%90%8C%E6%AD%A5%E6%BA%90

这个报错应该是网络问题,试试 curl -vvv 'https://www.npmjs.com/browse/updated?offset=36' 能访问吗?

这个地址有npmmirror替换地址吗

aimeiyijia commented 2 months ago

@aimeiyijia 直接用 cnpm 源同步?

https://github.com/cnpm/cnpmcore/blob/docs-sync/docs/sync-setup.md#-%E4%BD%BF%E7%94%A8-cnpm-%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%9A%84%E5%90%8C%E6%AD%A5%E6%BA%90

这个报错应该是网络问题,试试 curl -vvv 'https://www.npmjs.com/browse/updated?offset=36' 能访问吗?

请问下 你知道全量同步,需要准备多大的存储空间吗

aimeiyijia commented 2 months ago

@aimeiyijia 直接用 cnpm 源同步? https://github.com/cnpm/cnpmcore/blob/docs-sync/docs/sync-setup.md#-%E4%BD%BF%E7%94%A8-cnpm-%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%9A%84%E5%90%8C%E6%AD%A5%E6%BA%90 这个报错应该是网络问题,试试 curl -vvv 'https://www.npmjs.com/browse/updated?offset=36' 能访问吗?

请问下 你知道全量同步,需要准备多大的存储空间吗

@elrrrrrrr

fengmk2 commented 2 months ago

全量需要几十 TB

elrrrrrrr commented 2 months ago

这个地址有npmmirror替换地址吗

没有的,这个是用来辅助更新的,后续我加个配置允许关闭