2008-10-23 22 views

Respuesta

2

Si está utilizando subversión, puede ramificar su código común y usar svn: external para mantener una versión actualizada (o una etiqueta específica) del código común en su repositorio. (http://svnbook.red-bean.com/en/1.0/ch07s03.html)

Otros sistemas SCM pueden tener características similares.

1

Si está utilizando el control de código fuente (y si no lo está, debería hacerlo), puede ramificar el código común. Agrúpelo en carpetas y ramifique las carpetas en cada sitio web. Los cambios pueden fusionarse de nuevo al origen y luego propagarse a cada sitio web.

+1

Creo que cómo mantenerse al día con la propagación y evitar los cambios es parte de la pregunta. –

2

Haga que todo se pueda configurar a través de archivos de configuración específicos del sitio. Cambiar el código por cliente es una forma de volverse loco. Haga que el código sea multi-tenant desde el principio y hasta la configuración, como skinning css, puede implementar más fácilmente.

0

Tenemos una única base de código que compartimos con todos los sitios web que creamos. Somos una tienda ASP.NET, por lo que en la práctica eso significa una biblioteca de clases VB.NET. Esto incluye extensiones de los controles básicos de ASP.NET (un SqlDatasource personalizado, un FormView personalizado, una CheckboxList personalizada, etc.), así como otros controles web personalizados y una biblioteca de clases y funciones de utilidad.

Normalmente, un sitio web consta de una solución de VisualStudio de dos proyectos, un proyecto para el sitio web y otro proyecto para la base de código compartido. Cuando construimos la solución, todos los cambios en la base de código común se crean al mismo tiempo. Los cambios en la base de código se registran en el control de origen y se propagan a otros sitios web cada vez que se abren una copia de seguridad y se baja el último código.

Cuestiones relacionadas