10) rename estore3/ estore3.old . . . 12) remove estore3.old reducing downtime...
2015-09-02 16:57 GMT+02:00 Niphlod <niph...@gmail.com>: > k, hacking.... > > > On Wednesday, September 2, 2015 at 3:34:43 PM UTC+2, Massimo Di Pierro > wrote: >> >> I would prefer if the git clone is done locally and not on the server. >> The reason is that I do not want to spend time setting up deployment keys. >> >> On Wednesday, 2 September 2015 03:09:51 UTC-5, Niphlod wrote: >>> >>> done already....with some twists but ready to adapt... >>> >>> 1) fabric is on the server, so it just git pulls (either master or a >>> tagged revision) into temporary folder >>> 2) DISABLED added to the running app >>> 3) syncs repo to temp folder >>> 4) syncs temp with running >>> 5) restarts/reloads uwsgi >>> 6) removes DISABLED >>> >>> bits missing from your workflow are copying to the server and keeping >>> zipped revisions somewhere, but since it all comes from git, seems >>> superflous but totally doable. >>> >>> On Wednesday, September 2, 2015 at 6:02:51 AM UTC+2, Massimo Di Pierro >>> wrote: >>>> >>>> I would like an app that does this: >>>> >>>> deploy https://github.com/mdipierro/estore3 username@domain >>>> :/home/www-data/web2py/applications/estore3 >>>> >>>> possibly based on fabric. Definitively written in Python. >>>> >>>> the app "deply" should assume web2py is installed >>>> 1) clone locally https://github.com/mdipierro/estore3 >>>> 2) zip it >>>> 3) copy it to username@domain >>>> :/home/www-data/web2py/applications/estore3.zip >>>> 4) unzip it into username@domain >>>> :/home/www-data/web2py/applications/estore3-tmp/ >>>> 5) if username@domain:/home/www-data/web2py/applications/estore3 does >>>> not exist skip to 11) >>>> 6) zip >>>> username@domain:/home/www-data/web2py/applications/estore3-<datetime>.zip >>>> username@domain:/home/www-data/web2py/applications/estore3/* >>>> 7) create a file >>>> username@domain:/home/www-data/web2py/applications/estore3/DISABLED >>>> containing the current datetime >>>> 8) stop the web server (apache and or nginx) >>>> 9) copy all files and folders from estore3/ to estore3-tmp/ except >>>> models, views, controllers, modules, sessions >>>> 10) remove estore3/ >>>> 11) rename estore-tmp3/ as estore/ >>>> 12) restarts the web server >>>> >>>> There should also be an option: >>>> >>>> deploy -revert <datetime> username@domain >>>> :/home/www-data/web2py/applications/estore3 >>>> that restores the content of username@domain >>>> :/home/www-data/web2py/applications/estore3-<datetime>.zip >>>> >>>> should work with any git web2py app (not just estore3 which was an >>>> example) and MUST WORK with private github repo. >>>> >>>> It is OK to assume that the current user has ssh keys to access both >>>> the git repo and the remote server. >>>> >>>> I will pay $100 if you can send it to me in the next 2 days. Feel free >>>> to discuss here if you understand it and think we can do this better. >>>> >>>> Massimo >>>> >>>> >>>> >>>> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.