Mostrando entradas con la etiqueta cvs. Mostrar todas las entradas
Mostrando entradas con la etiqueta cvs. Mostrar todas las entradas

martes, abril 10, 2007

Otra vez con un CVS

Siempre vuelvo al redil del CVS, aunque en esta ocasión no es para llevar el desarrollo de una aplicación, sino para mantener el fichero de proyecto de configuración del fwbuilder y tener mayor control sobre las reglas que ponemos en el firewall de los servicios centrales del IAJ. Esto se puede hacer más o menos bien, puesto que el fichero de proyecto es un fichero XML, aunque los diff quedan raros.

Por supuesto, ahora que lo tengo instalado en el curro, aprovecharé para meter algunos desarrollos internos que tenemos, que tenemos algunos scripts bastante dispersos y descontrolados.

domingo, septiembre 24, 2006

SubVersion

Probando algunas cosas para el CVS, he aprovechado para mirar algo de SubVersion, la forma de trabajo principal no cambia, pero queria ver las características añadidas y la forma de realizar una migración completa de un repositorio en CVS hacia uno en SVN.
En otro orden de cosas, me tengo que familiarizar con las ramas, que las voy a necesitar próximamente.

miércoles, septiembre 06, 2006

La llamada del CVS

En la comida en Barcelona que hizo la empresa por el mes de Junio, un programador de una de las empresas invitadas, nos planteo a Edu y a mí un problema que le acuciaba y creo que todo el mundo que ha desarrollado aplicaciones web, se ha enfrentado al mismo problema.

Uno va creando el programa en su ordenador local, alli tiene su servidor web y de base de datos, donde va escribiendo líneas y más líneas de código. Llega un momento, en que eso que tienes, lo llevas al servidor 'de producción'. Utilizando un programa de FTP lo llevas todo, luego inicializas la base de datos y retocas algún que otro fichero de configuración. Si todo va bien, tienes tu aplicación funcionando en el servidor.

Pasado un tiempo, continuas con el desarrollo en el ordenador local, y tocas varios ficheros fuentes para solventar errores y añadir cosas nuevas. Evidentemente, esto tienes que subirlo al servidor de producción. Es justamente cuando surge el problema. No recuerdas que ficheros han sido los que has actualizado, ni cuales has añadido. Entonces terminas hecho un lío, y por el caminio te olvidas de algún que otro fichero, actualizas innecesariamente otros, etc. Es un jaleo de cuidado.

Esto todavía se complica cuando son varias personas las que estan desarrollando conjuntamente. Que si no sabes que ficheros se han actualizado, que si machacas la version del servidor por tu copia local que era mas antigua. Mucho más jaleo.

Para eso se inventó el CVS. Todo el mundo tira del CVS para sincronizar la versión que tiene en local, con la que existe en el CVS que contiene las últimas versiones de todo el mundo. Y cuando alguien hace algún cambio, el cliente de CVS realizar los commits de los ficheros que han sido modificados. Hasta aqui nada raro, es describir la funcion del CVS.

Mirando un poco más lejos, ¿por qué no llevar el contenido del CVS al propio servidor en produccion?. Igual que los programadores hacen updates para sincronizar la versión que tienen de su código respecto a la última existente, hacer que el propio servidor (o servidores) sea el que haga esos mismos checkout/update del código para llevar los últimos cambios a su DocumentRoot, evitando todo el problema del FTP anterior y con la ventaja, de no ser necesario acceder por ftp al código del servidor.

Con esto te despreocupas, de esos momentos de dudas frente al ftp. ¿Fin de la historia? Aún hay algo más, la sincronización con el servidor se puede hacer automatica programada en crontab o manual, en la que el responsable del proyecto sea el encargado de hacer los updates.

Resumiendo ventajas de lo anterior:
  • Control del código en desarrollo. El CVS te permite tener controlado los cambios que se van produciendo, con su histórico y quien lo hizo.
  • Seguridad del fuente en desarrollo. El código del desarrollo esta en un máquina que no tiene nada que ver con la de producción, que esta dando la cara.
  • Control de lo que hay en produccion. En produccion siempre tienes lo último, nadie toca alli, salvo cuando se hagan los updates para actualizarlo.
  • Mayor seguridad del código en producción. Al hacerse las actualizaciones del fuente por CVS, no es necesario tener FTP para acceder a donde esté el desarrollo, ni que se toque por FTP.
  • Ahorra tiempo de desarrollo e implantación.
  • Soluciona el problema de la sincronización entre el código del servidor en producción, respecto a la última versión disponible.
Y los inconvenientes:
  • Aprender una forma nueva de hacer las cosas. Utilizar un CVS no es trivial, además de que su forma de utilizarlo obliga a ser más ordenadito.
[Esta es la publicación de un pequeño draft que tenia guardado y sobre el que iré ampliando para hacer algo más interesante y completo]


jueves, agosto 24, 2006

Contento por el CVS

Ando muy contento en la oficina porque estamos aprendiendo/enseñando/descubriendo todas las posibilidades de utilizar un CVS.

El hecho de ser yo el que tuviera experiencia con el uso del CVS, puesto que lo usaba para mantener mis tareas, ha supuesto que activara el modo profesor pelusón y que esté dando la tabarra todo el tiempo con él, pero también me ha servido para aprender más cosas y posibilidades sobre él mismo.

No sólo nos hemos limitado a la parte tradicional del CVS de controlar los cambios de nuestro código, que era lo que conocia y sobre lo que tenía práctica, sino que estamos yendo más lejos, al utilizarlo como herramienta para tener el código de los servidores en producción sincronizado con la última versión, evitando el engorroso uso del FTP. Sin olvidarme de la propia administración del CVS.

Es impresionante la de quebraderos de cabeza que quita. Cuando uno desarrolla para sí mismo, puede parecer poco importante, pero cuando hay mas gente desarrollando o lo que se este haciendo es medianamente complejo, con varios servidores de por medio, entonces te quedas helado y lo ves todo desde una perspectiva diferente.

Pero hay algo más, ver la buena acogida que ha tenido su uso entre mis propios compañeros -Edu, Luis y Troty- supone un aliciente añadido. Por fortuna, todavía no me han atado como al bardo Asegurancéturix de Astérix y Obélix, pese a la caloo que estoy dando.

jueves, mayo 11, 2006

No hay nada como un CVS

Esta tarde-noche, mientras sonaban los cohetes de los palanganas festejando que han ganado la copa de la uefa, he aprovechado para instalar java+eclipse+phpeclipse.

Una vez que la instalación ha finalizado, me he puesto a pillar algunos desarrollos de la oficina que tengo en el servidor de CVS.

Buff, no puedo dejar de maravillarme cada vez que puedo disponer de todo lo que desarrollo desde un repositorio CVS, desde la ultima versión en la que he estado trabajando esta mañana, o la versión de hace 3 días. La vida es diferente con todo eso.

martes, marzo 28, 2006

Running CVS

Un día satisfactorio que marcara un antes y despues -bueno, no sere tan pomposo puesto que todos los días marcan un antes y un después-. Despues de muchas tareitas del día a día, terminé de montar un CVS para los desarrollos de la empresa. Era algo que hablamos en su momento como algo interesante de tenerlo en marcha, pero como no tenia prioridad, cayó en el olvido.

Curioso ha sido que montarlo no me ha supuesto complicaciones, pero el problema principal lo he encontrado en falló idiota que no tiene nada que ver con el CVS en sí, porque me ofusque con el tema de no permitir a los usuarios del cvs acceso por shell. No veia unos dos puntos de menos en la línea que configura el usuario en el fichero /etc/passwd y los usuarios que creaba tenian acceso por shell. El maestro, con su probervial sabiduría lo captó al momento. 4 ojos van más que 2.

Todos los PXs de montar el CVS los perdí de golpe con lo de la anulación de la shell.

Cómo utilizar el servicio Secrets Manager para guardar las claves privadas de SSH

Para guardar la clave privada en el servicio Secrets Manager como un secreto en modo texto sin formato, sigue estos pasos Supongamos que la ...