-
Notifications
You must be signed in to change notification settings - Fork 799
git submodules hook/support ala Heroku #1094
Comments
This was also an issue I had. Based on the deis chat on IRC, it seems that the functionality would most likely involve the file builder/image/slugbuildr/build.sh (https://github.com/deis/deis/blob/master/builder/image/slugbuilder/builder/build.sh). |
I managed to build a slug using the deis/slugbuilder using the git-archive-all script, https://github.com/meitar/git-archive-all.sh/blob/master/git-archive-all.sh , but I was unable to get the slug to be deployed. I probably won't have time to get to it this week so I wanted to leave a breadcrumb... |
This is duplicated in #3160 - closing that in favor of this on @bacongobbler's suggestion. We have a couple of projects that use submodules. The precise SHA1 is important to us. deis-builder uses this in `./builder/image/templates/builder' to generate the tarball that is sent to the docker slugbuilder:
Unfortunately, git archive strips the @bacongobbler mentioned gh1094 as related to this, and rightfully explained that submodules are also an issue on Heroku. To add .git, I've had to modify our deis/builder image to do this instead:
It would be nice to somehow flag an app to selectively include .git, as no doubt others will run into this limitation. Thanks! |
+1 just ran into this issue. |
closed but relevant: #3375 |
Just an FYI by bburky on IRC:
So we will need to keep this in mind if someone wants to implement git submodule support. |
Because Deis is not multi-tenant, in practice Deis was unaffected. It might have been possible for code to be run while fetching a buildpack, but at that point the user is privileged and could just run arbitrary code within their app anyways. And slugbuilder is an isolated Docker container, so impact was minimal anyways. But the real lesson here is that please treat |
Is there some workaround except not using submodules? |
You could deploy your application using a Dockerfile or through |
Thanks. Didn't know about |
|
Ah. I thought it is some pull mode for builder, instead of push. Actually Dockerfile approach negates the most beautiful part of Deis... |
I've ended up with using git subtrees instead of submodules. |
This issue was moved to deis/builder#468 |
I attempted to reproduce some Heroku'esque workflow involving a vendored Redmine plugin and found this:
https://devcenter.heroku.com/articles/git-submodules
90% sure it probably wouldn't have worked for me because git submodules are a PITA but it seems like Heroku handles this in their post-receive hook before delegating to the buildpack...
The text was updated successfully, but these errors were encountered: