Hi massimo I took it as an exercise, and this is what I make:

https://github.com/cccaballero/app_deploy

can be used like:

python main.py https://github.com/myuser/repo.git username:password@domain:/home/www-data/web2py/applications/estore3

the script make all the stuff locally, so nothing spacial need to be installed in the server, only a sftp capable ssh server.

El 02/09/15 a las 00:02, Massimo Di Pierro escribió:
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] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.



--
Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

--
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