Is there any definition of the retention policy behaviour for static assets during deployments?
In other words if I'm running v1 and deploying v2, are v1's assets assured to be available for the entirety of an app deploy command? I'm particularly interested where multiple services are defined.
I've looked at these articles and they don't provide much insight into the behaviour;
https://cloud.google.com/appengine/docs/standard/python/getting-started/serving-static-files
https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed
https://cloud.google.com/appengine/docs/standard/python/getting-started/hosting-a-static-website
To be more specific I have a project with 3 services;
- assets.yaml - service: assets, provides static images, css, js, etc and acts as cookie-less domain.
- site.yaml - service: default, provides static html for "brochure site".
- app.yaml - service app, go app provides /healthz, /readyz, and /a/*.
- dispatch.yaml - for route specification.
# dispatch.yaml # prod assets - url: "a.example.net/*" service: assets # local development assets - url: "*/css/*" service: assets # local development assets - url: "*/js/*" service: assets # local development assets - url: "*/media/*" service: assets - url: "*/a/*" service: app - url: "*/healthz" service: app - url: "*/readyz" service: app
Given v1 has the asset css/bootstrap-4b2.min.css
and v2 has css/bootstrap-4b3.min.css
.
When I deploy v2 and v1 is the current running version with the command below;
gcloud app deploy --project=$PROJECT dispatch.yaml assets.yaml default.yaml app.yaml --quiet --version $VERSION
What behaviour can I expect from App Engine?
- Both static files will be available for the duration of the project deployment.
- Both static files will be available for the duration of the service deployment.
- Both static files will be available indefinitely.
- Something else/it depends?