Administrar un website django de la manera profesional

Hola gente de Stack OverFlow, hace tres meses no tenía ni idea sobre el desarrollo web o Python. Y un día antes de ayer lancé mi primer website de Django 🙂 www.gccfishing.com

Así es como implementé el website:

  1. Desarrollé el proyecto en el escritorio de mi casa.
  2. Creó un repository de Github y lo subió allí.
  3. En un server webfaction cloné el repository y configuré el server para ejecutar el proyecto.

Todo está bien y la gente comenzó a usarlo, pero estoy enfrentando un problema; No puedo imaginar una forma eficiente de realizar cambios en el proyecto en el server.

Desde ayer, he estado modificando el código del proyecto en vim directamente en el server a través de ssh.

También he estado retocando mi copy de desarrollo del proyecto en el escritorio del hogar.

Así que ahora el escritorio de mi casa, el repository Github y el server webfaction tienen un código ligeramente diferente.

¿Cuál es la mejor solución para mí en este caso para que tenga una copy (copy del server) del proyecto para trabajar? y mi flujo de trabajo sería tal que lo desarrollaría en el escritorio hogareño y simplemente lo uploadía al server.

¿Estoy teniendo sentido?

¿Cuál es la mejor manera de actualizar la copy del server del proyecto? ¿Alguna idea / recomendación?

Solutions Collecting From Web of "Administrar un website django de la manera profesional"

Bueno, primero déjame decir felicitaciones. Creo que este es un primer proyecto muy bueno y estoy seguro de que aprendiste una tonelada en el path.

Su pregunta es realmente algo así como "¿cómo puedo mantener una aplicación de producción". Creo que si haces un poco de búsqueda en Google (con django añadida al final) obtendrás muchísimas respuestas.

Más específicamente, tu pregunta sobre la implementación.

En este caso, solo desea realizar los cambios en su computadora portátil. Pruébalos localmente y luego envíalos a github.

Desde tu caja, una vez que te metas en ella, simplemente haz una transferencia de files y reinicia tu server web.

Dicho esto, es posible que desee consultar un package de Python llamado "fabric" http://fabric.readthedocs.org/en/1.3.3/index.html para administrar implementaciones y mantenimiento.

El tejido de aprendizaje también puede ser una valiosa adición a su set de herramientas.

Además, está bien que su server esté detrás o en una twig diferente, luego desarrolle mientras desarrolla nuevas funciones. Pero, realmente no quieres que tu server esté adelante. Debe confirmar los cambios que haya realizado en github desde su server y luego volver a colocarlos en su server local para que todos estén sincronizados.

Enhorabuena por su primer proyecto y una gran selección de herramientas para usar 🙂

Encontrarás que esta serie de blog es útil para ayudarte a usar Fabric para implementar (especialmente la parte 5):

http://www.abidibo.net/blog/2012/04/30/deploy-django-applications-nginx-uwsgi-virtualenv-south-git-and-fabric-part-1/

También es posible que desee echar un vistazo a esto como también un buen recurso:

http://www.jeffknupp.com/blog/2012/10/24/starting-a-django-14-project-the-right-way/