GitHub Action Build 一个镜像花了 4 个小时

2021-10-11 23:30:31 +08:00
 skiy

如题。

Build 一个镜像,amd64 版本只需要 15 分钟。然后加了个 arm64 版的,居然 Build 了 4 个小时。
GitHub 难道用树莓派来整的吗?

2890 次点击
所在节点    程序员
12 条回复
acrisliu
2021-10-11 23:37:37 +08:00
估计用的不是 M1,性能比不过 X86 。
KallyDev
2021-10-11 23:42:54 +08:00
确实慢,当时得到的结果有 4 倍左右的性能损失,后来我直接用 musl 交叉编译后再 copy 到不同的架构的镜像中,问题得以解决。

https://github.com/shadowsocks/shadowsocks-rust/blob/master/Dockerfile
KallyDev
2021-10-11 23:45:13 +08:00
补充一下,主要是 QEMU 模拟 ARM 慢,和 GitHub Actions 的性能并没有什么关系,具体原因你 Google 一下就知道了。
wdlth
2021-10-11 23:48:17 +08:00
因为 GitHub Actions 用的虚拟化,你可以试试 travis,不过那个的 arm 也慢……
skiy
2021-10-12 00:08:20 +08:00
@KallyDev 我这个不是 BUILD 二进制,所以没办法按你这种方式来。我知道跟 Action 没什么关系,估计就是 QEMU 方式的问题,不知道有没有解决方案?
xupefei
2021-10-12 00:16:55 +08:00
github 用的是 azure,不像 aws 那样有一个 Graviton ARM 可用。
Graviton 速度牛逼,狂爆英特尔至强
gam2046
2021-10-12 10:27:32 +08:00
异构的编译慢应该没啥办法,如果不能交叉编译的话,Emmm...似乎只能等。

当年 Android 刚出来的时候,AVD 就因为是异构的,可是慢的令人发指,开了可不敢轻易给关了。
KallyDev
2021-10-12 11:51:11 +08:00
@skiy 用 ARM 服务器部署私有的 GitHub Actions 运行环境,可以直接对接到单个 repo 或者整个组织。

https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners
waruqi
2021-10-12 13:14:15 +08:00
上了 qemu 了 当然慢了
skiy
2021-10-12 14:05:04 +08:00
@KallyDev 那无解了。。。没有 arm 服务器。好像也没有哪家云是用 arm 的。
Alexonx
2021-10-12 18:19:53 +08:00
@skiy 华为云ᕕ( ᐛ )ᕗ
sadan9
2021-10-13 09:42:57 +08:00
@skiy oracle cloud

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX