Por lo tanto, un amigo y yo hemos estado discutiendo la integración continua y los scripts bat/powershell en comparación con los servidores de CI como CruiseControl.Net o Hudson.Integración continua: servidor PowerShell frente a CI (CC.NET o Hudson)
El siguiente script de pseudo de powershell funciona para actualizar desde SVN, compilar mediante msbuild, implementar/copiar, actualizar un número de compilación/revisión en la aplicación y correos electrónicos en compilaciones fallidas. El siguiente paso sería agregar llamadas a MSTest y enviar por correo electrónico los resultados cuando no tengan éxito.
- svn update
- msbuild> build_deploy_development_out_msbuild
- ([xml] (SVN información --xml)). Info.entry.commit.revision + [Char] + 13 [Char] + 10 (eco % date%% time%)> build_revision_number.html
- $ linenumber = Seleccionar-String build_deploy_development_out_msbuild -pattern "Build Failed" | Seleccionar-objeto Linenumber
- $ smtp = New-Object System.Net.Mail.SMTPClient -ArgumentList localhost | if ($ LineNumber> 0) $ smtp.Send ("De: Enviar", "Para: Correo electrónico", "compilación falló", "! construir falló ... alguien debe morir")
Esto tiene me llevan a la pregunta del valor de los servidores de CI, cuando puede escribir sus propios scripts de shell para lograr el mismo objetivo, utilizando las herramientas específicas del proyecto (herramienta de compilación, control de fuente, prueba de unidad) (es decir, msbuild, nant, svn , git, nunit, mstest, etc.)
No he tenido el costo de mantenimiento hasta el momento. Quería obtener opiniones de otros en el lanzamiento de su propio script de shell frente a CruiseControl.Net o Hudson. Tenga en cuenta que no tengo experiencia con servidores de CI, por lo tanto, la pregunta, por lo tanto, no tome esto como algo crítico con los servidores de CI; Simplemente no sé cuál es la mejor respuesta, y pensé que podría preguntarle a la comunidad.
Los mejores deseos! Pete Gordon
Esto debería ser wiki de la comunidad, ya que no hay una respuesta clara –
¿Por qué CC.NET o Hudson incluso aparecen en la lista? Esto parece una pregunta de Powershell VS CI. ¿Por qué la semántica? – TheOptimusPrimus