-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Abstract deploy specific changes to a user / config directory #44
Comments
Does git reset --hard origin/master delete files that are in .gitignore? I don't think so. I agree that allowing a git reset is a valid use case. |
I honestly find the grav config / user (i.e. what to version control) leaves much to be desired when you are first starting out with the product. I do not like the notion of a folder tree where there are some folders that should be in version control, others are machine generated, and others should never be in version control and it is not at all obvious when you start using the product what does where. I do ultimately support the idea that config should be somewhere completely "elsewhere" so you can version control a set of configs in a private repo and link them together in production. This could be done in Tsugi by writing a config.php that simply imported a file elsewhere in the hierarchy or just did a soft link. |
Something from ELMS:LN / Grav land. Grav abstracts all changes made after deploy into the
user
directory. This makes it super easy to know what to upgrade, what to version control, and where all credential data is vs what's safe to give out. ELMS:LN also does something similar using symlinks where all of our deploy specific changes actually live in aconfig
directory. In practice what happens:https://github.com/elmsln/elmsln-config-example is git cloned and replaces config folder in elmsln high level structure
https://github.com/elmsln/elmsln/blob/master/.gitignore#L5 ensures it's ignored from VC
Deploy UX that will never cause a data loss as a result:
Or when new version of our codebase release
cd /var/www/elmsln && git pull origin 0.10.x
will safely work on any deploy that's ever made which doesn't modify this core convention. This allows us to start automating deployment and maintenance scripts.This will never blow away anything made after the initial stamp down of the data. It's not to say my structure is right, just that I know it helped our developer UX immensely / simplified process after the fact. Grav's
user
folder offers similar workflow advantages when it comes to upgrading "core" at a later date in the same regard.The text was updated successfully, but these errors were encountered: