Pregunta

Estoy en el proceso de configurar un entorno completo de desarrollo web. Por ahora, hay dos desarrolladores, uno dedicado a la programación de backend (C #, .NET) y otro dedicado al desarrollo frontend (HTML, CSS, XSLT).

Cada uno tiene una instalación de MS Visual Studio 2008 y fuente compartida a través de Visual Source Safe 2005. Ambos extraen archivos y se desarrollan localmente.

He configurado un servidor de prueba donde es el plan que el código fusionado y probado finalmente debe terminar, y ese servidor siempre debe ser el "correcto". versión.

Cada una de las 3 instalaciones comparte las mismas bases de datos.

Creo que esta configuración debería escalar un poco, ya que me estoy preparando para más desarrolladores, pero tenemos muchos problemas con la sincronización de archivos y fácil acceso para cambios rápidos. A menudo necesitamos cambiar algunos diseños y diseños bastante rápido y terminar copiando los archivos en el servidor de pruebas manualmente (no quiero ningún archivo de código .NET / C # en el servidor web), y el sitio falla: - (

Utilizamos un CMS estándar para construir todo nuestro trabajo frontend, y realmente ralentiza las cosas si se incluye en la fuente segura.

Me gustaría que todo nuestro trabajo frontend se mantenga completamente separado de nuestro código de fondo para que sea fácil hacer cambios.

Ej. Nos gustaría hacer algunos cambios en el diseño e implementarlo rápidamente en nuestro entorno de producción, sin pensar en el código .NET.

¿Me falta algo o cuál es la mejor práctica para configurar un entorno de desarrollo web?

Esperando ayuda / experiencia :-)

/ Thomas

¿Fue útil?

Solución

Probablemente deberías buscar un sistema de control de versiones más capaz. SVN tiene un gran soporte de herramientas (incluyendo AnkhSVN y VisualSVN para la integración VS2008), y los sistemas de control de versiones distribuidos como Mercurial, Git o Bazaar le ofrecerán aún más opciones y el precio de un soporte de herramientas mucho más básico.

Es posible que necesite una bifurcación fácil, y la administración de los recursos relevantes utilizando el sistema de control de versiones se hace mucho más fácil si puede implementarlos fácilmente en producción (es decir, ejecutar " svn up ").

Otros consejos

No puedo ayudarlo con información sobre cómo manejar el contenido de CMS, pero he configurado o usado un par de servidores de compilación.

Habiendo trabajado con Visual Source Safe en muchos proyectos y Team Foundation Server en algunos, me mantengo alejado si puedo.

Nuestro servidor de compilación reciente consta de scripts Nant que verifican la fuente desde un repositorio Subversion. La compilación en sí la realiza MSBuild. El resultado de la compilación se copia a la etapa y la producción.

Debe haber una manera fácil de transferir los cambios de la base de datos desde el desarrollo hasta la etapa y la producción. Tenemos una herramienta ( http://www.codeplex.com/ScriptDB ) que crea scripts para el dev- Base de datos. El resultado se verifica en Subversion. Es fácil ver qué cambió en el registro de Subversion.

  

Cada una de las 3 instalaciones comparte las mismas bases de datos.

Esto parece una mala decisión. Si dev1, dev2 y test están usando la misma base de datos, entonces ¿cómo puede dev1 experimentar cambiando el esquema sin interferir con dev2 y test (suponiendo que el código para trabajar con el esquema experimental aún no se haya registrado).

Además, el DB se convierte en un único punto de falla, por lo que si alguien elimina / trunca accidentalmente una tabla crucial, entonces todo el trabajo se detiene.

Idealmente, cada entorno debería tener su propia base de datos. Supongo que si está utilizando una base de datos no libre como Oracle, es posible que no pueda permitirse dar a cada entorno su propio servidor, pero al menos cada entorno debería tener su propio esquema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top