title: What could be causing this mystery GCloud App Deploy error? (NodeJS, AppEngine. Standard Environment)
body: <blockquote>
    <p>ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build 6axxx...xxx9b status: FAILURE.</p>
  </blockquote>
  
  <p>I'm trying to understand if I can use a NodeJS / Express server with Google Cloud App Engine, Standard Mode.  My application started out from an <a href="https://expressjs.com/en/starter/generator.html" rel="nofollow noreferrer">Express-Generator</a> framework.  There is a single page app, and some function calls back to server via custom routes.  Nothing terribly crazy.  </p>
  
  <p>I set up repo, and $ <code>git clone https://gitlab.com/my_repo</code> into the GCloud shell. Test, test and retest using the sandbox (local development server.) Test url is of the form:  <code>https://8080-dot-xxxxxx-dot-devshell.appspot.com</code> Yipee.</p>
  
  <p>Next step is hard deploy:  I start with $  <code>gcloud app create</code> followed by $ <code>gcloud app deploy</code> (had to make a side trip to ensure correct authorization and billing stuff is whole, etc...) . Website / server totally works as intended.  URL is of the form <code>https://my-custom-XYZ-website.appspot.com/</code>    Works great.</p>
  
  <p>I can check the version at the <a href="https://console.cloud.google.com/appengine/versions" rel="nofollow noreferrer">Google Cloud Platform -- App Engine -- Version console</a> The output there shows me:</p>
  
  <pre><code> Version: 20181120t103136
   Status: Deployed 
   Traffic Allocation: 100%
   Instances: 1 
   Runtime: Node10 
   Environment: Standard 
   Size: 748.8 KB
   Deployed: (Date/Time by me)
  </code></pre>
  
  <p>So that's the background. The problem is now I can no longer update the content. I can easily push code to the terminal interface, but the command $ <code>gcloud app deploy</code> fails for any sort of update / new version.  Sigh.  </p>
  
  <pre><code>Log related info -- Build steps: 
  Fetcher = successful
  
  Builder = status, Step Failed
  Builder Arguments   
  --name=us.gcr.io/my-custom-XYZ-website/app-engine-tmp/app/ttl-2h:12xxxxxxa5a0 --directory=/workspace --destination=/srv --cache-repository=us.gcr.io/my-custom-XYZ-website/app-engine-tmp/build-cache/ttl-7d --cache --base=gcr.io/gae 
   runtimes/nodejs10:nodejs10_10_13_0_20181111_RC00
  Directory   /workspace/
  
   "builder": Permission denied for "d71xxxxxxxxxxxxxxxxxx88b5" from request "/v2/my-custom-XYZ-website/app-engine-tmp/build-cache/ttl-7d/node-cache/manifests/d71xxxxxxxxxxxxxxxxxx88b5". : None
  </code></pre>
  
  <p>app.yaml</p>
  
  <pre><code># [START runtime]
  runtime: nodejs10
  # [END runtime]
  
  handlers:
  
    - url: /images
      static_dir: public/images
    - url: /javascript
      static_dir: public/javascript
    - url: /red-canoe
      static_dir: public/alt-content
    - url: /stylesheets
      static_dir: public/stylesheets
  
    - url: /.*
      secure: always
      redirect_http_response_code: 301
      script: auto
  </code></pre>
  
  <p>Any idea on how to identify and correct what's wrong here?   </p>
  
  <p>Note: I did create another simple test product in node.js, and I can easily update the versions there. That test product had only a simple app.js with a simple <code>Hello World</code> response.  Version #2 had <code>Hello There, World</code> (okay, so yeah, not the worlds most robust test...).  But the version update, via $ <code>gcloud app deploy</code> worked just fine there.  I did note the version size on the Hello World app was around 245kb or so.  </p>