亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GO GCP SDK 授權碼連接gcp項目

GO GCP SDK 授權碼連接gcp項目

Go
慕田峪4524236 2022-11-23 19:28:24
我正在使用以下按預期工作的代碼,我從 cli 使用gcloud auth application-default login并輸入我的憑據,我能夠從我的 macbook 成功運行代碼?,F在我需要在我的 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貢獻1864條經驗 獲得超2個贊

由于您使用的是 Jenkins,因此您可能希望從如何創建服務帳戶開始。它指導您創建服務帳戶并導出密鑰以在另一個 CI/CD 系統中設置為 var。

然后參考客戶端庫中的文檔,了解如何使用源憑據創建新客戶端。

例如

client, err := storage.NewClient(ctx, option.WithCredentialsFile("path/to/keyfile.json"))

如果您未提供任何來源,它將嘗試在本地讀取憑據并充當運行該操作的服務帳戶(不適用于您的用例)。


查看完整回答
反對 回復 2022-11-23
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

許多 CI 支持導出特定的環境變量?;蛘吣愕哪_本/conf 也可以做到。

但是如果你想在 CI 中運行,為什么你需要這樣的配置?集成測試?

一些服務可以在本地用于單元/冒煙測試。與 pubsub 一樣,有一種方法可以運行假的/本地 pubsub 來執行一些測試。

或許我沒有理解你的問題,在這種情況下你能舉個例子嗎?


查看完整回答
反對 回復 2022-11-23
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號