Foros del Web » Programando para Internet » GIT »

[SOLUCIONADO] Trabajar con Deploy + GitHub

Estas en el tema de Trabajar con Deploy + GitHub en el foro de GIT en Foros del Web. Hola Hace un tiempo que estoy probando con Python + Django + Git + GitHub, y ahora quería ver la forma de que al hacer ...
  #1 (permalink)  
Antiguo 18/06/2013, 08:52
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Trabajar con Deploy + GitHub

Hola

Hace un tiempo que estoy probando con Python + Django + Git + GitHub, y ahora quería ver la forma de que al hacer un commit se actualice automáticamente el servidor.

Estuve leyendo y eso es un despliegue (deploy) pero no tengo idea de como se hace. También leí sobre tests que se realizan antes.

Qué me pueden recomendar para leer? Alguna ayuda para empezar.

Gracias
  #2 (permalink)  
Antiguo 18/06/2013, 09:23
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Trabajar con Deploy + GitHub

Cita:
Iniciado por PanuWeb Ver Mensaje
Hace un tiempo que estoy probando con Python + Django + Git + GitHub, y ahora quería ver la forma de que al hacer un commit se actualice automáticamente el servidor.
No puedes, tienes que hacer el push al servidor.

Cita:
Iniciado por PanuWeb Ver Mensaje
Estuve leyendo y eso es un despliegue (deploy) pero no tengo idea de como se hace.
Ok, cuando desarrollas con django usas el servidor de desarrollo `manage.py runserver` lo que haces en el deploy no solamente es cambiar esto a un servidor web robusto como ngnix o apache2 + wsgi. Ademas de cambiar ciertas variables como por ejemplo DEBUG=False, TEMPLATE_DEBUG=False, etc...

También depende mucho de donde lo vayas a hacer el deploy, no es lo hacer un deploy en heroku que hacerlo en un vps o en un shared hosting.

Cita:
Iniciado por PanuWeb Ver Mensaje
También leí sobre tests que se realizan antes.
Depende mucho de la metodología de desarrollo que estés tomando. Por ejemplo en TDD si primero desarrollas las pruebas y después implementas lo que vas a probar. Mientras que en método clásico o de cascada primero implementas y después pruebas.

Cita:
Iniciado por PanuWeb Ver Mensaje
Qué me pueden recomendar para leer?
Deploy:
http://www.djangobook.com/en/2.0/chapter12.html
https://docs.djangoproject.com/en/dev/howto/deployment/

Testing:
https://docs.djangoproject.com/en/dev/topics/testing/
https://docs.djangoproject.com/en/de...ting/overview/

Django ofrece herramientas para hacer testing pero puedes usar otros frameworks para hacer testing.
  #3 (permalink)  
Antiguo 18/06/2013, 15:25
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Trabajar con Deploy + GitHub

Gracias, siempre al frente para llenar de sabiduría el ciberespacio xD

Cita:
Iniciado por razpeitia Ver Mensaje
No puedes, tienes que hacer el push al servidor.
Yo me refería a configurar WebHook de GitHub a una url que yo le pase y que desde el servidor al tener la petición de esa url actualice el repo del servidor, a por medio de un script en python, con git pull por ejemplo (pensé que eso era parte del deploy)


Cita:
Iniciado por razpeitia Ver Mensaje
Ok, cuando desarrollas con django usas el servidor de desarrollo `manage.py runserver` lo que haces en el deploy no solamente es cambiar esto a un servidor web robusto como ngnix o apache2 + wsgi. Ademas de cambiar ciertas variables como por ejemplo DEBUG=False, TEMPLATE_DEBUG=False, etc...
Si eso lo tenia presente, pero con los enlaces que me enviaste ya me quedó claro.

Cita:
Iniciado por razpeitia Ver Mensaje
También depende mucho de donde lo vayas a hacer el deploy, no es lo hacer un deploy en heroku que hacerlo en un vps o en un shared hosting.
Es por la configuración del server? En que cambia? yo me abrí una cuenta en AlwaysData, me sirve?


Cita:
Iniciado por razpeitia Ver Mensaje
Por ejemplo en TDD si primero desarrollas las pruebas y desp.....
por ahora paso de los test, sigue todo en pruebas pero quiero ver como queda y poder pasarle el enlace a unos amigos para que lo vean.

Gracias de nuevo

Saludos.
  #4 (permalink)  
Antiguo 18/06/2013, 15:38
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Trabajar con Deploy + GitHub

Cita:
Iniciado por PanuWeb Ver Mensaje
Yo me refería a configurar WebHook de GitHub a una url que yo le pase y que desde el servidor al tener la petición de esa url actualice el repo del servidor, a por medio de un script en python, con git pull por ejemplo (pensé que eso era parte del deploy)
Si como he dicho antes, este un tema sobre repositorios (aqui es de python), pero depende del workflow que uses. Por ejemplo he visto desde hacer pull requests en el crontab (que no se me hace una buena idea), tener algún script para hacer todo el push al servidor o incluso trabajar al revés que en servidor solamente hagas pull del repo de github.


Cita:
Iniciado por PanuWeb Ver Mensaje
Es por la configuración del server? En que cambia?
Lo que pasa es que varia mucho porque no es lo mismo apache2 que nginx y tampoco es lo mismo usar gunicor, uwsig, fastcgi o algún otro. Lo que pasa es que muchos vienen de php y tienen por ahí muchos conceptos no bien definidos que causan conflictos.

Cita:
Iniciado por PanuWeb Ver Mensaje
yo me abrí una cuenta en AlwaysData, me sirve?
Si, si te sirve.
  #5 (permalink)  
Antiguo 18/06/2013, 15:54
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Trabajar con Deploy + GitHub

En realidad si puedes hacer un deploy cada vez que haces commit. Sería cuestión de mirar los hooks post commit para lanzar tu script de deploy.

Pero, esa no sería la forma más recomendable de trabajar, tomando en cuenta que un commit son cambios específicos, y que además una buena práctica es hacer commits frecuentemente. Una mejor manera como ya te dijeron es hacer un push de varios commits, o incluso usar tags para saber siempre lo que ha estado en el servidor.

En cuanto a pruebas ya te pasaron los links de la documentación de django. Y también puedes puedes hacer las pruebas en cada push, en este caso yo utilizaría herramientas de integración continua como Jenkins o con Travis (si tu proyecto tiene un repositorio en github público), que corre las pruebas e indica si el push es bueno.

Para hacer tu deploy, te recomendaría Fabric, para automatizar las tareas.

Saludos
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 18/06/2013, 16:23
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Trabajar con Deploy + GitHub

Muchas gracias por responder fue de gran ayuda!!

Etiquetas: deploy, django, github, python
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.