在 GitHub 代码空间上使用服务帐户进行 gcloud CLI 身份验证

gcloud CLI authentication using service account on GitHub Codespaces

我想对从 GitHub Codespaces devcontainer 获取的 gcloud CLI 进行身份验证。我可以设置 GitHub Codespaces 秘密来公开 GOOGLE_APPLICATION_CREDENTIALS,我可以为其分配实际的服务帐户值(JSON 内容)。

但是,gcloud CLI expects it to be a path to a file。处理该问题的最佳做法是什么?

谢谢,

我不确定这些模式是否有最佳实践,但我发现成功创建了包含文件文本的 Codespace 机密,并使用 lifecycle script 例如postCreateCommand.

{
  “postCreateCommand”: “echo -e \"$SERVICE_ACCOUNT_CREDENTIALS\" > /path/to/your/file.json”
}

注意:我通常不会直接在 devcontainer.json 中调用此命令,而是创建一个单独的 bash 脚本并执行它。

从那里您应该能够正常地与文件进行交互。我已经成功地将此模式用于 SSH 密钥、kubeconfigs 和 AWS 凭证。