I am new in Python
. I am deploying Python
code to Google Cloud Run
and I am getting an error.
Here is the terminal:
Deploying from source. To deploy a container use [--image]. See https://cloud.google.com/run/docs/deploying-source-code for more details.
Source code location (/Users/name/......):
Next time, use `gcloud run deploy --source .` to deploy the current directory.
Service name (google-cloud-run):
Please specify a region:
[1] asia-east1
......
Please enter your numeric choice: 27
To make this the default region, run `gcloud config set run/region us-central1`.
This command is equivalent to running `gcloud builds submit --tag [IMAGE] /Users/name/......` and `gcloud run deploy google-cloud-run --image [IMAGE]`
Allow unauthenticated invocations to [google-cloud-run] (y/N)? y
Building using Dockerfile and deploying container to Cloud Run service [google-cloud-run] in project [project-id] region [us-central1]
X Building and deploying new service... Building Container.
✓ Uploading sources...
- Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/bdaf9cea-3e87-46e4-81f8-33b2675808f8?proje
ct=1044629281917].
. Creating Revision...
. Routing traffic...
. Setting IAM Policy...
Deployment failed
ERROR: (gcloud.run.deploy) Build failed; check build logs for details
It looks like it fails in the build container.
When I check my logs, the error is: denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource "projects/project-id/locations/us-central1/repositories/cloud-run-source-deploy" (or it may not exist)
.
My code:
import os
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
name = os.environ.get("NAME", "World")
return "Hello {}!".format(name)
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))
My Google Cloud IAM account roles:
Artifact Registry Administrator
Artifact Registry Reader
Artifact Registry Repository Administrator
Artifact Registry Writer
Cloud Build Editor
Cloud Run Admin
Container Registry Service Agent
Service Account Admin
Service Account User
Service Usage Admin
Service Usage Consumer
Source Repository Administrator
Source Repository Reader
Source Repository Writer
Storage Admin
Storage Object Admin
Viewer
How can I fix this error? Appreciate if someone can advise. Thank you in advance!