Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
aimeiyijia opened this issue Apr 4, 2024 · 25 comments · Fixed by #666
Closed

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

aimeiyijia opened this issue Apr 4, 2024 · 25 comments · Fixed by #666

Comments

@aimeiyijia
Copy link

感谢

Copy link

github-actions bot commented Apr 4, 2024

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

@aimeiyijia
Copy link
Author

如何全量同步npm呢

@hezhengxu2018
Copy link
Collaborator

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

@aimeiyijia
Copy link
Author

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

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

@hezhengxu2018
Copy link
Collaborator

hezhengxu2018 commented Apr 5, 2024

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


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

@aimeiyijia
Copy link
Author

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

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

我是用cnpmcore npm包搭的

@aimeiyijia
Copy link
Author

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

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

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

@aimeiyijia
Copy link
Author

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

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
Copy link
Member

elrrrrrrr commented Apr 5, 2024

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

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

@elrrrrrrr
Copy link
Member

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

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

@elrrrrrrr
Copy link
Member

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

@aimeiyijia
Copy link
Author

2. registryId

不太明白,registryId从哪里来的

@aimeiyijia
Copy link
Author

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

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

@aimeiyijia
Copy link
Author

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

@elrrrrrrr
Copy link
Member

@aimeiyijia

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

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

@aimeiyijia
Copy link
Author

@aimeiyijia

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

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

@aimeiyijia
Copy link
Author

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

@aimeiyijia
Copy link
Author

@elrrrrrrr

@elrrrrrrr
Copy link
Member

@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
Copy link
Author

@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
Copy link
Author

@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
Copy link
Author

@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
Copy link
Author

@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
Copy link
Member

fengmk2 commented Apr 12, 2024

全量需要几十 TB

@elrrrrrrr
Copy link
Member

这个地址有npmmirror替换地址吗

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

fengmk2 pushed a commit that referenced this issue May 16, 2024
> close #664 Missing a startup document for sync pkgs.
* 📚 Add doc for sync-setup

-------

> close #664 目前缺少一个启动文档,开启包同步服务
* 📚 添加 sync-setup 使用文档

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Added a new guide for setting up package synchronization services
using `cnpmcore`.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants