Open bacongobbler opened 7 years ago
Part of why I found this confusing wasn't just the difference with Heroku's behaviour, it was also conceptual. I'm creating a deis app on a remote box - It didn't seem obvious to me that my location in a local shell would affect that.
I though that deis create
would have created a remote repo that I could then point to locally in a separate step if I so wished.
Example work flow
# create deis app for my service
$ deis create
$ cd my-service
$ git remote add production PATH_TO_DEIS_REPO
Many thanks to all the team @deis, I've been delighted with it all!
Ah I can understand that point of view. While there is a remote git repository stored at the builder, I wouldn't rely on it as a persistent git repo store for your application source code. Leave that for GitHub/BitBucket/your own git server etc.
If the builder is rebooted, the repositories are gone because we don't have them backed by persistent disk or anything. The database WAL logs, registry images, built Heroku tarballs, and build caches are, though. The git repos in the builder are created on-the-fly when you push the local contents of the repository to the builder via git push deis
, so they aren't created on builder's end when you do a deis create
, either.
Again, this is similar to Heroku... However they DO store it persistently, but nobody in reality uses Heroku as their backing store for their git repos because it requires deploying your app to Heroku on EVERY push, even if you want to push in-progress branches.
Does that help clarify some things?
Absolutely, though I never intended to use the git repo for a source control, just as a deployment pathway.
I thought that
deis create
would have created a remote repo that I could then point to locally in a separate step if I so wished.
For what it's worth, this is do-able, but it requires flipping on a few extra option flags (again, tooting the "Heroku compatibility" horn again):
$ deis create myappname --no-remote
$ deis git:remote --app myappname
This missing functionality in the ticket is the one gap in the matrix we've probably missed in future Heroku updates.
This issue was moved to teamhephy/workflow-cli#9
As reported in https://github.com/deis/builder/issues/499, the Heroku client will run
heroku create
with--no-remote
if the directory we are running in is not a git directory:Whereas with the
deis
CLI, this does not happen:I'm not sure if this was "fixed" in later Heroku versions, but this wasn't the case a few years ago. We should try to mimic Heroku's workflow here, seeing how we are an "open source Heroku".