在Cloud Build上进行构建时,出现以下警告:
Step #2: WARNING: Unable to verify that the Appengine Flexible API is enabled for project [xxxxx]. You may not have permission to list enabled services on this project. If it is not enabled, this may cause problems in running your deployment. Please ask the project owner to ensure that the Appengine Flexible API has been enabled and that this account has permission to list enabled APIs.
我希望摆脱此警告,以获取干净的构建日志。
由于构建成功,因此问题一定与禁用Appengine Flexible API无关。
否;问题必须是该帐户无权列出已启用的API。如何解决这个问题(在控制台中还是在命令行中)?
答案 0 :(得分:5)
要列出可用的服务,您需要权限services.list
。您可以通过包含上述权限的granting a role授予此权限,例如roles/serviceusage.serviceUsageViewer
,也可以根据需要仅创建具有该权限的your own personalised role。
有关如何启用API的信息:首先使用$ gcloud services list
检查该帐户是否已启用该API,这似乎不太可能。默认情况下,它显示该帐户的所有已启用服务。
如果您在上述列表中看不到“ appengineflex.googleapis.com”,则可以运行$ gcloud services enable appengineflex.googleapis.com
。
答案 1 :(得分:0)
要验证您的帐户并在cloudbuild中启用API,我必须将该帐户添加为role/App Engine Deployer
,并且可以在我的情况下使用。
另外,在另一个项目中,我创建了新的SA,并添加了Editor
权限,并且也起作用。这是出于测试目的,但是有效。
下面验证其是否也可以正常工作的步骤:
gcloud config set account youraccountname
gcloud config set project yourprojectname
然后:
-gcloud auth activate-service-account yourname@yourproject.iam.gserviceaccount.com --key-file=yourfilekey.json
然后要验证其是否有效,请执行以下操作:gcloud services list
,您将看到服务列表中的所有NAME
和TITLE
。
答案 2 :(得分:0)
我今天遇到了这个问题。我需要确保在项目和个人资料上启用了计费功能。我将在“结算”部分查看是否也看到此问题。