I have a standard environment NodeJS application deployed on Google Cloud App Engine. The app was first deployed in Nov 2019. I'm now trying to update the code, but I'm no longer able to deploy via $ gcloud app deploy
- I've tried using the online console at https://console.cloud.google.com/appengine/quotadetails?cloudshell=true as well as the stand alone downloaded console tooling. Both fail.
- The application works fine on localhost. It communicates with the online data storage just fine.
- I've tried using
$ gcloud app deploy --verbosity=debug
It's not much help. - I've verified the login's and accounting information, thru the Google Cloud console in the browser. At first three glances everything seems whole.
Current Error messages:
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build f3780207-1c95-4b88-8ae0-574fc6ad515b status: FAILURE Build error details: {"error":{"errorType":"BuildError","canonicalCode":"INVALID_ARGUMENT","errorId":"51A062A0","errorMessage":"INFO FTL version node-v0.17.0\nINFO Beginning FTL build for node\nINFO FTL arg passed: exposed_ports None\nINFO ...
lots of info removed here...
Two errors on the build log:
Step #1 - "builder": containerregistry.client.v2_2.docker_http_.V2DiagnosticException: response: {'status': '403', 'content-length': '288', 'x-xss-protection': '0', 'transfer-encoding': 'chunked', 'server': 'Docker Registry', '-content-encoding': 'gzip', 'docker-distribution-api-version': 'registry/2.0', 'cache-control': 'private', 'date': 'Tue, 04 Aug 2020 18:30:12 GMT', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json'}
Step #1 - "builder": Permission denied for "1dc7fa0ed97dedf2b18a5fa82c4847e36cdade4e1d65e024bfb78aacd0cc1a3d" from request "/v2/ccinema-app/app-engine-tmp/build-cache/ttl-7d/node-cache/manifests/1dc7fa0ed97dedf2b18a5fa82c4847e36cdade4e1d65e024bfb78aacd0cc1a3d". : None
app.yaml file:
# [START runtime]
runtime: nodejs10
# [END runtime]
instance_class: F2
automatic_scaling:
max_instances: 2
target_cpu_utilization: 0.7
# https://hackernoon.com/trials-and-tribulations-of-google-cloud-hosting-a-tutorial-26395eb25636
service: default
# https://cloud.google.com/appengine/docs/standard/nodejs/serving-static-files
handlers:
# - url: /favicon\.ico
# static_files: favicon.ico
- url: /images
static_dir: public/images
- url: /javascript
static_dir: public/javascript
- url: /stylesheets
static_dir: public/stylesheets
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
Its not at all clear to me on why the app deploy fails now when it worked so well in the past. Any ideas on why the deployment failure? Note, is there a way to attach the build log / error log as attachments to this posting?
Edit...
I've been spending a whole lot of time trying to figure this issue out. I thought I'd try a simple cloned site. Same exact node content from my repo, but instead pull a brand new project with a new app engine deployment. I can't tell if the above issue is a deployment issue or a code related issue. If I could create a new project perhaps I could troubleshoot why my current project fails to deploy.
- Create a new project.
$ gcloud app deploy
Updating service [default]...failed. ERROR: (gcloud.app.deploy) Error Response: [7] Access Not Configured. Cloud Build has not been used in project my-project-xxx before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudbuild.googleapis.com/overview?project=my-project-xxx then retry.
- I go to the link listed, and after clicking a series of links I get to here, and I see "Billing Account is Closed"
- Its not clear on why the account is closed.
- Google search shows me "Reopen a closed Cloud Billing account". I follow the instructions there and I'm missing a "REOPEN BILLING ACCOUNT button". There are possible reasons for that, including unresolved payments, suspensions etc... In my case, we have none of that. No unresolved bills, credit cards on record are still valid, not expired. I just can't figure this out.
- What makes this worse is my inability to ask for help from Google on billing issues. When I go to ? (help) --> Contact Billing Support I get a "Sorry, this page can't be found" response.
- Er, wait is Google telling me I should be using Amazon Web Services or Microsoft Azure instead of Google Cloud? I wasted a heck of a lot of time trying to figure this out via obscure error messages, and the AWS / Azure message comes thru quite clearly. Normally the folks at Google are much better than that.