Updating the app-engine-exec-wrapper shell script to stop replacing the "/workspace" when including volumes from the container #257
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When the application image comes from a custom build pack, loading all volumes from the container results in "/workspace" being overwritten. This results in the application files no longer being available, which can cause commands to fail (like running rake tasks in CloudBuild or via the
appengine:execrake task through theappenginegem).I modified the app engine exec wrapper's execute shell script to replace the
--volumes-fromflag with a series of-vflags, allowing us to filter out any volumes from the container that would overwrite the "/workspace" path. This allows other volumes that contain useful helpers to continue to mount on the image, while also not losing the application files.I made these changes, based on PR #229 seemingly having stalled out, in hopes the reason for it not being merged in was because there were other volumes that needed to continue to be included other than the "/cloudsql" one, such as "/builder/home", "/builder/outputs", and "/cloudbuild/scripts". This specifically targets "/workspace" to prevent the application files from being overwritten by the script.