Gottwik / Enduro

Minimalistic, lean & mean, node.js cms
http://www.endurojs.com/
MIT License
690 stars 121 forks source link

deploy updates without overwriting content #259

Open CordlessWool opened 6 years ago

CordlessWool commented 6 years ago

very nice tool you develop, easy and slim. The only problem i have is: if i am deploying a new version and changed the cms file on my developing system, it overwrites all content and fields on the productive system. I already configurate juicebox, and try to solve it with enduro juice pull -f, but do not have any effect. I do not know how juicebox work in detail, so maybe it is wanted, because of juicebox remove added fields. But it make it much more complicate to deploy stuff, because nobody is allowed to make changes, while I developing and I had to copy the content from the live server first to my developing system... which also means that git have to save more new stuff.

Gottwik commented 6 years ago

Could you expand on your issue? How you you edit the content? On production or locally? Do you have juicebox set up(aws s3 and everything)?

CordlessWool commented 6 years ago

After I published everything to productive, I changed the cms file locally (add a new variable) and push it again to productive system. Juicebox was initialized on productive system before I push the second time. Juicebox is set up with remote directory and juicebox directory locally. Both are not touched while the update process, so in the folder remote and juicebox are the old data. It works fine with if I change only the value of an existing variable and do not add or remove a record.

Is it possible to use something other than aws and locally? I only see this two in the documentation.

CordlessWool commented 6 years ago

I did some more test and recognized that juicebox overwrite the complete content with the newest one!? Will it not be better to replace only the value of the the local file, instead the total?

What I am done: I do the most things with docker so I could go back to past. So I recreated the old text and files (remote and juicebox are still not from the docker container) and change something on the productive system via the admin panel (so the productive cms file is the newest one). Then I replace the docker container with the newest one (this one I used before). When I visited the admin panel again, the text was still the old one, but also a filed I removed was there and one I added was not shown.

CordlessWool commented 6 years ago

I started to debug juicebox, because I want to add a tag, get easier to deploy. But firstly I recognized that, force and enduro.flags.force are both undefined (use command: enduro juice pull -f) .

What I want to develop to make deployment easier is, an extension of juicebox, to comapare the cms file with the latest juice version and the all values of juice files where the var name are the same in cms. All vars could not found in the juice file, get value from the cms file and all vars exits in the juice file and not in cms are ignored.

@Gottwik If I develop this function, do you will add it, or do I waste my time if I am developing it?