Estoy intentando automatizar el proceso de compilación de mis proyectos (tanto java como .net) usando Ant y MSBuild. He leído sobre ellos y sé cómo escribir scripts de compilación en Ant y MSBuild. Pero me pregunto, ¿hay alguna guía o mejores prácticas para escribir scripts de compilación en general? Aquí hay dos que he encontrado, pero me gustaría saber más de otros desarrolladores.Cualquier mejor práctica para escribir scripts de compilación en Ant o MSBuild
- Al escribir un script de creación, sólo se basan en los artículos que se encuentran en control de origen y están disponibles en la carpeta de trabajo, mientras que de comprobar las fuentes. NO escriba scripts de compilación que sean dependiendo de los elementos que no se mantienen en el control de origen.
- Si un proyecto contiene un conjunto de subsistemas y cada subsistema tiene sus propios scripts de compilación, el archivo de compilación del proyecto solo debe llamar a las secuencias de comando de compilación de los subsistemas. Además, estos archivos deben importar un fichero de construcción común que contiene los objetivos, tales como compilación, pruebas, etc. paquete
que he visto this post así, pero es detallada en el camino de las tareas de escritura. Necesito más pautas de alto nivel, como se mencionó anteriormente.
Estas son las directrices que recogí de las respuestas:
- Ejecutar cada construyen en un ambiente limpio. Significa que cada script de compilación necesita un objetivo
clean
. - Las secuencias de comandos de compilación generalmente deben incluir
compile
,package
ytest
objetivos. - Si un producto tiene diferentes líneas de desarrollo (por ejemplo, dev, versión), todas ellas deben tener el mismo script de compilación. Sin embargo, se deben pasar diferentes parámetros a estos scripts.
- Las compilaciones realizadas en líneas de desarrollo generalmente contienen compilación, embalaje, implementación e instalación de pasos. Pero las versiones de la versión incluyen pasos adicionales, como etiquetar el producto y generando registros de cambios/notas de la versión.
- Las secuencias de comandos de compilación también deben mantenerse en el control de origen.
- tratar de mantener toda la información de compilación de scripts de construcción, no en servidor de integración continua (bambú, TeamCity, etc.)
- Si su construcción utiliza un parámetro que puede cambiar en el futuro (por ejemplo, la dirección de red para copiar el generar resultados), no lo codifique en su script de compilación. en su lugar, use los parámetros de compilación para controlarlo más fácilmente.
Gracias David. Tus comentarios son realmente valiosos – hsalimi