是否可以访问Google Cloud构建变量,例如PROJECT_ID
,作为Google App Engine标准Node.js自定义构建步骤中的gcp-build
脚本的一部分?
在我的测试中,GCP构建脚本能够获得应用程序默认凭据,并且从我的回忆中,Auth库具有多种不同的方法,它可以通过这些方法来获得凭据(例如,环境变量,良好的环境变量已知文件,元数据服务等(。
我通过process.env
检查了环境变量,但没有看到与问题相关的任何变量。我跳过了著名的文件方法,尝试了元数据服务,并能够从元数据服务中获取项目ID,但是我很好奇推荐方法是什么,或者是否有更好的方法访问诸如项目ID之类的变量。
这似乎是不可能的。除了元数据服务外,您还可以执行此操作:
您可以在package.json
中的" GCP-Build"脚本中插入占位符" $ var",并使用sed
用所需的值将其替换为PROJECT_ID
,您可以使用gcloud
:
sed -i "s/$VAR/$(gcloud config get-value project)/" package.json
所以package.json
线像
"gcp-build": "echo $VAR"
如果您的项目是" op-project",
"gcp-build": "echo op-project"
然后,您可以制作一个别名或小脚本来始终在部署时运行此操作。