¿Cuál es la forma más efectiva de implementar un sitio web?

8

Conozco algunas formas de implementar sitios web:

  • FTP
  • Exportar desde control de origen
  • Base el sitio en una comprobación de control de fuente

Puedo ver algunos aspectos positivos y negativos de cada uno. ¿Existe algún consenso sobre la forma más efectiva de implementar nuevos sitios O modificaciones del sitio?

Grant Palin
fuente
1
Muy relacionado con algunas otras preguntas, y bastante subjetivo. Esto podría convertirse en un debate. En realidad, si involucra control de versiones, generalmente se convierte en un debate.
Tim Post
1
Mi interés no es tanto el control de la fuente como la comparación de diferentes técnicas de implementación. Creo que podríamos esperar comparaciones razonables de pros y contras.
Grant Palin

Respuestas:

6

Lo que mejor funcionó para nosotros en Stack Overflow (y cumple con el punto 2 de la Prueba de Joel ) es una solución de integración continua , que permite la construcción con un clic de nuestros sitios de producción, así como las compilaciones automatizadas de nuestro nivel de desarrollador en el nuevo registro de código .

Usamos el sabor .NET de CruiseControl , con el nombre emocionante .. CruiseControl.NET :)

Algunas de las características clave incluyen:

  • Integración con una variedad de sistemas de control de fuente
  • Integración con otras herramientas externas, como NAnt y Visual Studio
  • Puede construir múltiples proyectos en un servidor
  • Gestión remota e informes

Estamos muy contentos con este software de código abierto y lo recomendaríamos a cualquier equipo que desee optimizar su proceso de compilación.

Jarrod Dixon
fuente
2
Pensé que Caps Lock era control de crucero ... genial
Mark Henderson
3

Prefiero implementaciones que son automatizadas y repetibles. Definitivamente, querrá comenzar con una etiqueta de control de código fuente para saber exactamente lo que implementó y puede volver a implementarlo en cualquier momento. Luego use scripts para enviar eso al servidor, algo similar a Capistrano, o simplemente un script de bash casero o algo así.

Para los sitios que usan código compilado, si los servidores de prueba coinciden con los servidores de producción, probablemente sea mejor compilar el código una vez y enviar esa misma versión compilada a producción una vez que se haya probado.

Matthew Shanley
fuente
1

Yo uso scripts personalizados. Para los sitios web estáticos (basados ​​en HTML) utilizo directorios dobles con versiones nuevas e instaladas, luego el script ejecuta recursivamente difflas versiones nuevas e instaladas y carga solo los archivos que han cambiado.


fuente
¿Qué idioma es el guión? ¿golpetazo? ¿Te importaría echarnos un vistazo?
paan
@paan: Está en Perl. Lo siento, pero no puedo liberar todo el guión.
0

Uso git con un par de ganchos personalizados para la implementación. Esto incluso tiene la ventaja de que puedo ejecutar varias ramas para sitios de desarrollo / prueba / beta / producción y hacer algo de CI. Para parches urgentes, git siempre permite seleccionar confirmaciones específicas de una rama a la siguiente.

txwikinger
fuente