Google Cloud Build中go test启动耗时过长的问题求助
Google Cloud Build中go test启动耗时过长的问题求助
各位大佬好,我最近配置Google Cloud Build的时候碰到个头疼的问题,想过来请教下大家!
我的cloudbuild.yaml配置其实特别基础,就三个核心步骤:
- 先配置
GOPRIVATE环境变量,同时通过SSH密钥拉取私有依赖 - 执行
go build编译代码 - 执行
go test跑测试用例
我的配置代码大概是这样的:
steps: - id: "prepare-dependencies" name: "golang:latest" entrypoint: "/bin/sh" secretEnv: ["SSH_KEY"] args: - "-c" - | mkdir -p ~/.ssh echo "$SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts export GOPRIVATE=github.com/our-team/private-* - id: "build" name: "golang:latest" args: ["go", "build", "-v", "./..."] - id: "test" name: "golang:latest" args: ["go", "test", "-v", "./..."]
现在的问题是:build步骤执行得挺快,但test步骤的启动阶段耗时特别久——本地跑go test几乎秒启动开始跑用例,但在Cloud Build上,从test步骤开始执行到实际输出第一条测试日志,中间要卡好几分钟,整个构建流程被拖得特别慢。
我已经确认过依赖拉取是正常完成的,没有报错,也试过换golang的镜像版本(比如用1.21而不是latest),但情况还是一样。实在摸不着头脑,想问问有没有大佬遇到过类似的情况?或者有什么排查方向可以指指路?比如是不是Cloud Build的容器环境有什么默认配置影响了go test的启动,或者有没有参数可以调整来优化这个启动速度?
提前谢谢大家啦!
备注:内容来源于stack exchange,提问作者a3y3
相关产品推荐
相关产品推荐

