我使用以下代码,如预期的那样工作,我从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)
}发布于 2022-03-22 11:49:01
发布于 2022-03-22 07:35:56
许多独联体支持特定env vars的出口。或者您的脚本/ conf也可以这样做。
但是,如果您想在CI中运行,为什么需要这样的配置?集成测试?
一些服务可以在本地用于单元/烟雾测试。就像pubsub一样,有一种方法可以运行假的/本地的pubsub来执行一些测试。
或者我不明白你的问题,在这种情况下你能举个例子吗?
https://stackoverflow.com/questions/71567247
复制相似问题