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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to