0

是否可以访问Google Cloud Build 变量,例如作为Google App Engine 标准 Node.js 自定义构建步骤中脚本的PROJECT_ID一部分?gcp-build

在我的测试中,gcp-build 脚本能够获取应用程序默认凭据,据我回忆,auth 库有多种不同的方法可以回退以获取凭据(例如环境变量、知名文件、元数据服务等)。

我通过检查了环境变量process.env,没有看到任何与问题相关的变量。我跳过了众所周知的文件方法并尝试了元数据服务,并且能够从元数据服务中获取项目 ID,但我很好奇推荐的方法是什么,或者是否有更好的方法来访问项目 ID 等变量.

4

1 回答 1

2

看来这还不可能。除了元数据服务,您还可以这样做:

您可以在“gcp-build”脚本中插入一个占位符“$VAR”,并使用您需要的值package.json替换它,在这种情况下,您可以通过以下方式获得:sedPROJECT_IDgcloud

sed -i "s/\$VAR/$(gcloud config get-value project)/" package.json

所以package.json像这样的一条线

"gcp-build": "echo $VAR"

会变成,如果你的项目是“op-project”,

"gcp-build": "echo op-project"

然后,您可以创建一个别名或小脚本,以便在部署时始终运行它。

于 2019-08-01T15:21:04.140 回答