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

建议脚本增加gitee链接 #680

Closed
wangzhankun opened this issue Feb 8, 2020 · 20 comments
Closed

建议脚本增加gitee链接 #680

wangzhankun opened this issue Feb 8, 2020 · 20 comments
Milestone

Comments

@wangzhankun
Copy link
Contributor

希望在自动化安装脚本中增加gitee仓库的链接,github的链接非常慢,经常连接不上。我通过英国伦敦的代理访问gitee发现速度也是相当好的,或许直接拿gitee替换github的仓库也是可以的,应该不会影响国外用户的访问。

@waruqi
Copy link
Member

waruqi commented Feb 8, 2020

现在get.sh里面默认下载的runfile安装包,只需要下载1.5m的安装包 如果直接clone repo下载 还得下载所有submodules 不支持shallow clone,而gitee上附件作为mirror下载有限制 需要账号登入才能下载

@waruqi
Copy link
Member

waruqi commented Feb 8, 2020

国内的服务还是靠不住,原本打算在把安装包放到coding上试试,发现他们又升级服务了,也没法提供下载,之前xmake依赖的一些放在coding上的镜像文件也快失效了。= =

目前只能先尝试吧gitlab作为安装包镜像了

@waruqi waruqi added this to the v2.3.0 milestone Feb 8, 2020
@waruqi
Copy link
Member

waruqi commented Feb 8, 2020

我dev上改进过了,get.sh上可以自动探测gitee/gitlab/github的响应速度,然后选择最快的host对应的repo来下载

由于目前runfile的安装包只有github上有,gitee/gitlab的附件下载link带hash,没有版本选择,我暂时没去上传,只能clone repo

所以目前的策略:

  1. 如果选择到的gitee,那么强制切到git repo去clone,因为clone repo也比从github上的runfile快
  2. 如果选择gitlab/github,从github的runfile下载,里面的一些raw sh文件,从对应host下载

dev上的安装脚本: https://raw.githubusercontent.com/xmake-io/xmake/dev/scripts/get.sh 暂时还没merge到master,因为最近dev上重构改动比较大,等后续稳定后再merge

后期如果能找到更好的国内镜像,可以尝试吧runfile安装包也放置到国内镜像,直接下载,毕竟git clone对submodules的shallow clone似乎还没很好支持,所有history全部clone 还是有点大

@OpportunityLiu
Copy link
Member

直接在github上弄一个xmake-release的repo,然后用 https://www.jsdelivr.com/ 的cdn访问怎么样,cloudflare的全球速度都很可以的

@OpportunityLiu
Copy link
Member

图片

@OpportunityLiu
Copy link
Member

在我家是能直接跑满的

@waruqi
Copy link
Member

waruqi commented Feb 8, 2020

我晚上试试

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

直接在github上弄一个xmake-release的repo,然后用 https://www.jsdelivr.com/ 的cdn访问怎么样,cloudflare的全球速度都很可以的

我上传到https://github.com/xmake-mirror/xmake-releases 了,初步测了下,下载速度确实很给力 👍 ,不过似乎对后缀名有限制,只能下载文本文件,.exe的直接403了

但对runfile的下载没啥影响,回头等晚上,我再改下安装脚本,加上对jsdeliver的支持。

不过如果只能文本文件的话,也不需要单独releases repo了,直接切到当前repo xmake/scripts下对应文件就好了

@OpportunityLiu
Copy link
Member

zip应该可以

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

如果能zip那也可以 晚上我试试

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

@wangzhankun 我dev上runfile安装包下载也改进过了,走jsdeliver

可以通过下面的脚本直接安装,全部走的国内镜像:

bash <(curl -fsSL https://cdn.jsdelivr.net/gh/xmake-io/xmake@dev/scripts/get.sh)

后续merge到master后,可以执行

bash <(curl -fsSL https://cdn.jsdelivr.net/gh/xmake-io/xmake/scripts/get.sh)

相关安装url我已经在readme和安装文档里面更新过了。

@OpportunityLiu
Copy link
Member

速度过于碾压,现在各种测试环节反而成了限制下载速度的瓶颈了,感觉没必要测来测去直接用jsdeliver好了

然后你的zip又把 __MACOS打包进去了。。。

win的x64不准备提供了吗?

@OpportunityLiu
Copy link
Member

顺便提示一下,省略 @dev并不意味着master,而是会指向@latest,也就是最后一个tag

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

速度过于碾压,现在各种测试环节反而成了限制下载速度的瓶颈了,感觉没必要测来测去直接用jsdeliver好了

每个host测试限制timeout 1s了,就这么几个host,顶多3-4s 还是能接受的 主要是考虑到 有些极端场景 host not resolve或者jsdeliver突然挂了的情况,至少还能退化的其他host

然后你的zip又把 __MACOS打包进去了。。。

我后来去了,不过dns上似乎cache了,所以还是有

win的x64不准备提供了吗?

暂时懒得提供了,如果rename到win32/win64,对应老版本的update,里面到gitlab mirror的下载link会失效,通过同时提供,兼容老版本,太多releases了 有点乱,先凑活着这样吧。

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

顺便提示一下,省略 @dev并不意味着master,而是会指向@latest,也就是最后一个tag

xmake-releases上没tag, 我看下的跟master的也差不多,反正这个repo我不会打tag,不过我还是加上了,刚

@OpportunityLiu
Copy link
Member

主要是从主repo下脚本的那几个没加,跟以前的表现是不一致的,就是 get.shgitrepo_raw

@waruqi
Copy link
Member

waruqi commented Feb 9, 2020

主要是从主repo下脚本的那几个没加,跟以前的表现是不一致的,就是 get.shgitrepo_raw

是指master tag? 我记得刚一起加了。944444b

    gitrepo_raw="https://cdn.jsdelivr.net/gh/xmake-io/xmake@master"

@OpportunityLiu
Copy link
Member

fatal: write error: 设备上没有空间.59 MiB | 1.44 MiB/s   
fatal: index-pack 失败
fatal: 无法克隆 'https://github.com/tboox/tbox.git' 到子模组路径 '/dev/shm/.xmake0/200211/xmakesrc/dev/core/src/tbox/tbox'
克隆 'core/src/tbox/tbox' 失败。按计划重试
正克隆到 '/dev/shm/.xmake0/200211/xmakesrc/dev/core/src/tbox/tbox'...
remote: Enumerating objects: 737, done.        
remote: Counting objects: 100% (737/737), done.        
remote: Compressing objects: 100% (359/359), done.        
fatal: write error: 设备上没有空间.92 MiB | 2.85 MiB/s     
fatal: index-pack 失败
fatal: 无法克隆 'https://github.com/tboox/tbox.git' 到子模组路径 '/dev/shm/.xmake0/200211/xmakesrc/dev/core/src/tbox/tbox'
第二次尝试克隆 'core/src/tbox/tbox' 失败,退出
@programdir/core/sandbox/modules/os.lua:417: execv(/usr/bin/git clone https://github.com/xmake-io/xmake.git -b dev --depth 1 --recursive /dev/shm/.xmake0/200211/xmakesrc/dev) failed(1)!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:762]: in function 'raise'
    [@programdir/core/sandbox/modules/os.lua:417]:
    [@programdir/core/sandbox/modules/os.lua:336]: in function 'vrunv'
    [@programdir/modules/devel/git/clone.lua:71]: in function 'clone'
    [@programdir/actions/update/main.lua:330]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/actions/update/main.lua:315]: in function 'download_task'
    [@programdir/actions/update/main.lua:356]:
    [C]: in function 'load'
    [@programdir/core/base/task.lua:508]: in function 'run'
    [@programdir/core/main.lua:233]:

  => download https://github.com/xmake-io/xmake.git .. failed    
  => downloading https://gitlab.com/tboox/xmake.git ..  /usr/bin/git clone https://gitlab.com/tboox/xmake.git -b dev --depth 1 --recursive /dev/shm/.xmake0/200211/xmakesrc/dev
正克隆到 '/dev/shm/.xmake0/200211/xmakesrc/dev'...
remote: Enumerating objects: 1948, done.
remote: Counting objects: 100% (1948/1948), done.
remote: Compressing objects: 100% (1632/1632), done.
remote: Total 1948 (delta 577), reused 968 (delta 154), pack-reused 0
接收对象中: 100% (1948/1948), 1.76 MiB | 4.42 MiB/s, 完成.
处理 delta 中: 100% (577/577), 完成.
子模组 'core/src/luajit/luajit'(https://gitlab.com/xmake-io/xmake-core-luajit.git)未对路径 'core/src/luajit/luajit' 注册
子模组 'core/src/pdcurses/pdcurses'(https://gitlab.com/xmake-io/xmake-core-pdcurses.git)未对路径 'core/src/pdcurses/pdcurses' 注册
子模组 'core/src/sv/sv'(https://gitlab.com/xmake-io/xmake-core-sv.git)未对路径 'core/src/sv/sv' 注册
子模组 'core/src/tbox/tbox'(https://gitlab.com/tboox/tbox.git)未对路径 'core/src/tbox/tbox' 注册
正克隆到 '/dev/shm/.xmake0/200211/xmakesrc/dev/core/src/luajit/luajit'...
Username for 'https://gitlab.com': 

两个问题

  1. 你们的 /dev/shm 都有多大,真的不会炸的吗?
  2. 走gitlab它问我要用户名密码

@waruqi
Copy link
Member

waruqi commented Feb 11, 2020

你们的 /dev/shm 都有多大,真的不会炸的吗?

我这平常跑的mac,有可能测试不全,如果是update从repo编译装,shm是有可能会打爆。。

我刚改进了下os.tmpdir({ramdisk = false})对update/main.lua里面的目录强制切到非shm下。可以试试

走gitlab它问我要用户名密码

gitlab上我忘记传了,现在应该可以了,另外get.sh上gitlab的mirror我删了,gitee/github有两个repo也差不多了,可以减少一次测速耗时

@waruqi
Copy link
Member

waruqi commented Feb 16, 2020

win的x64不准备提供了吗?

我支持上了,xmake-releases下,根据version单独开branch维护,目前2.2.9分支已经可以支持x86/x64 installer包了

master分支目前主要用于兼容早期版本的下载

@waruqi waruqi closed this as completed Feb 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants