I'm attempting to deploy a python server to Google App Engine.
I'm trying to use the gcloud
sdk to do so.
It appears the command I need to use is gcloud app deploy
.
I get the following error:
me@mymachine:~/development/some-app/backend$ gcloud app deploy
ERROR: (gcloud.app.deploy) Error Response: [3] The directory [~/.config/google-chrome/Default/Cache] has too many files (greater than 1000).
I had to add ~/.config
to my .gcloudignore
to get past this error.
Why was it looking there at all?
The full repo of my project is public but I believe I've included the relevant portion.
I looked at your linked repo and there aren't any yaml
files. As far as I know, a GAE project needs an app.yaml
file because that file tells GAE what your runtime is so that GAE knows how to deploy/run your code. In fact, according to the gcloud app deploy documentation, if you don't specify any yaml
files to be deployed, it will default to app.yaml
in the current directory. If it can't find any in the current directory, it will try to build one.
Your repo also shows you have a Dockerfile. GAE documentation for custom runtimes says ...Custom runtimes let you build apps that run in an environment defined by a Dockerfile... In the app.yaml
file for custom runtimes, you will have the following entry
runtime: custom
env: flex
app.yaml
file and you have a Docker file in which you are downloading and installing Chrome
, it seems to me that gcloud app deploy
is trying to infer your runtime and this has led to it executing some or all of the contents of the Dockerfile before it attempts to then push it to Production. This is what is making it take a peek at the config file on your local machine till you explicitly tell it to ignore it. To be clear, I'm not 100% sure of this, just trying to see if I can draw a logical conclusion.My suggestion would be to create an app.yaml file and specify a custom runtime. Or just use the python runtime with flex