我正在使用以下按预期工作的代码,我从 cli 使用gcloud auth application-default login并输入我的凭据,我能够从我的 macbook 成功运行代码。现在我需要在我的 CI 中运行这段代码,我们需要使用不同的方法,获取 client_secret 和 client_id 或服务帐户/一些 ENV 变量的方法应该是什么,通过 GO 代码的方法是什么?import "google.golang.org/api/compute/v1"project := "my-project"region := "my-region"ctx := context.Background()c, err := google.DefaultClient(ctx, compute.CloudPlatformScope)if err != nil { log.Fatal(err)}computeService, err := compute.New(c)if err != nil { log.Fatal(err)}req := computeService.Routers.List(project, region)if err := req.Pages(ctx, func(page *compute.RouterList) error { for _, router := range page.Items { // process each `router` resource: fmt.Printf("%#v\n", router) // NAT Gateways are found in router.nats } return nil}); err != nil { log.Fatal(err)}
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
许多 CI 支持导出特定的环境变量。或者你的脚本/conf 也可以做到。
但是如果你想在 CI 中运行,为什么你需要这样的配置?集成测试?
一些服务可以在本地用于单元/冒烟测试。与 pubsub 一样,有一种方法可以运行假的/本地 pubsub 来执行一些测试。
或许我没有理解你的问题,在这种情况下你能举个例子吗?
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消