Cómo ejecutar scripts de línea de comandos

Este tutorial le muestra cómo utilizar TeamCity para ejecutar los scripts de línea de comandos que conforman la base esencial de sus procesos de compilación.

Hemos creado un repositorio GitHub solo a modo de demostración:

github.com/marcobehlerjetbrains/buildpipelines. No dude en utilizarlo y siga las instrucciones.

El repo tiene 2 microservicios: Authorization-Service y Calculator-Service. Puede copiar la URL, ir a sus servicios TeamCity y crear un nuevo proyecto a partir de la URL del repositorio. Dado que se trata de un repositorio público, no tendrá que introducir ninguna contraseña ni token de acceso.

tutorials-img

En el siguiente paso, TeamCity se conectará al repositorio y creará un proyecto a partir de él. También le mostrará la rama predeterminada, que es la rama principal que recibirá un pull cada 60 segundos para cualquier cambio, y desencadenará compilaciones.

También puede especificar qué otras ramas vigilar utilizando comodines.

tutorials-img

Establecer la configuración de compilación en TeamCity

Una configuración de compilación en TeamCity es un trabajo. Cuando configure un proyecto, TeamCity escaneará los archivos de su repositorio y autodetectará los pasos de compilación por usted.

tutorials-img

En este tutorial, no continuaremos con los pasos de compilación autodetectados porque tenemos nuestro propio script de línea de comandos para ejecutar. Sin embargo, cabe destacar que TeamCity puede analizar el repositorio VCS fuente de un proyecto y autodetectar los pasos de compilación adecuados en Node.js, Kotlin, Python, Ant, NAnt, Gradle, Maven, MSBuild, archivos de soluciones de Visual Studio, PowerShell, archivos de proyecto de Xcode, Rake y proyectos de IntelliJ IDEA.

Configuración de los pasos de compilación

Para continuar con la configuración manual de los pasos de compilación, haga clic en este enlace:

tutorials-img

Como queremos ejecutar un script de línea de comandos, elijamos Command Line en el menú desplegable.

tutorials-img

En el siguiente paso, vamos a elegir la opción Run Custom Script del menú desplegable y a pegar nuestro script de compilación en el campo correspondiente. Vamos a ejecutar el comando mvn clean package. Al igual que muchas otras herramientas, todos nuestros agentes de compilación tienen este paquete instalado por defecto.

mvn clean package compilará las fuentes Java, ejecutará algunas pruebas y creará un archivo .jar.

En el paso de despliegue, ejecutaremos la herramienta de línea de comandos de AWS y, a continuación, copiaremos ese archivo .jar en un bucket S3 privado. Después, solo tenemos que guardar haciendo clic en Save.

tutorials-img

Antes de pulsar el botón Run, debemos especificar las credenciales para nuestro bucket de AWS S3: un ID de clave de acceso y la clave de acceso secreta. Una de las formas de hacerlo es utilizando Parameters en TeamCity.

Añadir parámetros

Para ello, haga clic en Parameters | Add New Parameter. Por ahora, vamos a utilizar una variable de entorno. Introduzca el nombre, que es AWS_ACCESS_KEY_ID. También tendrá que seleccionar el tipo del nuevo parámetro (Environment variable (env.) en nuestro caso) y pegar el ID de clave de acceso real.

Nota: La clave de acceso que estamos utilizando es solo a modo de demostración, por lo que no podrá reutilizar esta clave.

tutorials-img

También queremos editar el parámetro y establecer que el tipo sea Password. Esto significa que TeamCity ocultará el valor del parámetro no solo en la interfaz de usuario, sino también en los mensajes de registro y en todas partes.

tutorials-img

Verá entonces que el ID de la clave de acceso ya está enmascarado.

tutorials-img

Del mismo modo, podemos añadir otra variable de entorno: la clave de acceso secreta. Después de eso, deberíamos poder ejecutar la compilación.

Para ello, haga clic en el botón Run, que le redirigirá a la página de resumen. Mientras TeamCity ejecuta la compilación, mostrará los registros de compilación, explicando lo que está ocurriendo con todo detalle.

tutorials-img

Una vez que su compilación haya terminado de ejecutarse, TeamCity mostrará el estado y los datos de la compilación, como cuándo fue lanzada y por quién, cuánto tiempo tardó en ejecutarse y qué agente de compilación se utilizó.

tutorials-img

Debido a que estamos utilizando scripts de línea de comandos, el único resultado efectivo que obtenemos es el registro de compilación. Si en su lugar decidiéramos utilizar un ejecutor específico de TeamCity (por ejemplo, el ejecutor de Maven), también obtendríamos un informe de pruebas, un informe de cobertura y muchas otras funciones, como las pruebas paralelas, todo listo para usar.

Acceso a los registros de compilación

Para acceder al registro de compilación, haga clic en la pestaña Build Log de la página de resultados de compilación. TeamCity facilita la lectura de los registros. En lugar de obligarle a descargar el registro de compilación completo en su máquina (lo que aún puede hacer) y luego abrirlo con Notepad++, TeamCity contraerá el registro de compilación y lo hará fácilmente consultable con Ctrl+F.

tutorials-img

¡Eso es todo por ahora! Vea otros tutoriales para aprender a hacer uso de funciones específicas de TeamCity, como los informes de pruebas o los informes de cobertura de código.

¡Disfrute compilando!

Para obtener más información, consulte la documentación de la línea de comandos de TeamCity.