Cree su primera canalización
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Esta es una guía paso a paso para usar Azure Pipelines para compilar una aplicación de ejemplo desde un repositorio de Git. En esta guía, se usan canalizaciones YAML configuradas con el editor de canalizaciones YAML. Si quiere usar canalizaciones clásicas en su lugar, consulte Definición de la canalización clásica. Para obtener instrucciones sobre el uso de TFVC, consulte Compilación de repositorios de TFVC.
Requisitos previos: Azure DevOps
Asegúrese de que dispone de lo siguiente:
Una cuenta de GitHub en la que pueda crear un repositorio. cree una de forma gratuita.
Una organización de Azure DevOps. cree una de forma gratuita. Si el equipo ya tiene una, asegúrese de que usted es el administrador del proyecto de Azure DevOps que desea usar.
Tener capacidad para ejecutar canalizaciones en agentes hospedados por Microsoft. Para usar agentes hospedados por Microsoft, la organización de Azure DevOps debe tener acceso a trabajos paralelos hospedados por Microsoft. Puede comprar un trabajo paralelo o solicitar una concesión gratuita.
Cree su primera canalización
Obtención del código de ejemplo de Java
Para empezar, bifurque el repositorio siguiente en la cuenta de GitHub.
https://github.com/MicrosoftDocs/pipelines-java
Creación de su primera canalización de Java
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Ve a Canalizaciones y selecciona Nueva canalización o Crear canalización si vas a crear tu primera canalización.
Siga los pasos del asistente y seleccione primero GitHub como ubicación del código fuente.
Puede que se le redirija a GitHub para iniciar sesión. Si es así, escriba sus credenciales de GitHub.
Cuando vea la lista de repositorios, seleccione el repositorio.
Es posible que se le redirija a GitHub para instalar la aplicación Azure Pipelines. Si es así, seleccione Aprobar e instalar.
Azure Pipelines analizará el repositorio y recomendará la plantilla de canalización de Maven.
Cuando aparezca la nueva canalización, eche un vistazo al archivo YAML para ver lo que hace. Cuando esté listo, seleccione Guardar y ejecutar.
Se le pedirá que confirme un nuevo archivo
azure-pipelines.yml
en el repositorio. Cuando esté satisfecho con el mensaje, seleccione de nuevo Guardar y ejecutar.Si quiere ver la canalización en acción, seleccione el trabajo de compilación.
Acaba de crear y ejecutar una canalización que se creó automáticamente, ya que el código parecía ser una buena coincidencia para la plantilla de Maven.
Ahora ya tiene una canalización YAML en funcionamiento (
azure-pipelines.yml
) en el repositorio que está lista para que la personalice.Cuando esté listo para realizar cambios en la canalización, selecciónela en la página Canalizaciones y, luego, haga clic en Editar para modificar el archivo
azure-pipelines.yml
.
Obtenga más información sobre cómo trabajar con Java en la canalización.
Visualización y administración de las canalizaciones
Para ver y administrar las canalizaciones, elija Canalizaciones en el menú de la izquierda para ir a la página de aterrizaje de canalizaciones.
En la página de aterrizaje de canalizaciones, puede ver canalizaciones y ejecuciones de canalización, crear e importar canalizaciones, administrar la seguridad, y explorar en profundidad los detalles de la canalización y la ejecución.
Elija Recientes para ver las canalizaciones de ejecución reciente (la vista predeterminada) o elija Todo para ver todas las canalizaciones.
Seleccione una canalización para administrar esa canalización y ver las ejecuciones. Seleccione el número de compilación de la última ejecución para ver los resultados de esa compilación, seleccione el nombre de la rama para ver la rama de esa ejecución, o seleccione el menú contextual para ejecutar la canalización y realizar otras acciones de administración.
Seleccione Ejecuciones para ver todas las ejecuciones de canalización. Opcionalmente, puede filtrar las ejecuciones mostradas.
Seleccione una ejecución de canalización para ver información sobre esa ejecución.
Puede elegir Retener o Eliminar una ejecución en el menú contextual. Para obtener más información sobre la retención de una ejecución, consulte Directivas de retención de compilación y versión.
Ver los detalles de la canalización
La página de detalles de una canalización permite ver y administrar esa canalización.
Elija Editar para editar la canalización. Para más información, consulte el editor de canalizaciones de YAML. También puede editar la canalización modificando el archivo azure-pipelines.yml directamente en el repositorio que hospeda la canalización.
Visualización de los detalles de la ejecución de la canalización
En el resumen de ejecución de la canalización, puede ver el estado de la ejecución, tanto mientras se ejecuta como cuando se completa.
En el panel de resumen, puede ver los detalles del trabajo y la fase, descargar artefactos y navegar a las confirmaciones vinculadas, los resultados de pruebas y los elementos de trabajo.
Trabajos y fases
En el panel de trabajos, se muestra información general sobre el estado de las fases y los trabajos. Este panel puede tener varias pestañas en función de si la canalización tiene fases y trabajos, o simplemente trabajos. En este ejemplo, la canalización tiene dos fases llamadas Compilar e Implementar. Puede explorar en profundidad los pasos de canalización eligiendo el trabajo en el panel Fases o Trabajos.
Seleccione un trabajo para ver los pasos de ese trabajo.
En la vista de pasos, puede revisar el estado y los detalles de cada paso. Desde Más acciones , puede alternar marcas de tiempo o ver un registro sin procesar de todos los pasos de la canalización.
Cancelar y volver a ejecutar una canalización
Si la canalización se está ejecutando, puede cancelarla si elige Cancelar. Si la ejecución se ha completado, puede volver a ejecutar la canalización seleccionando Ejecutar nuevo.
Menú Ejecutar más acciones de canalización
En el menú Más acciones , puede descargar registros, agregar etiquetas, editar la canalización, eliminar la ejecución y configurar la retención de la ejecución.
Nota:
No puede eliminar una ejecución si la ejecución está retenida. Si no ve la opción Eliminar, elija Dejar de detener la ejecución y, a continuación, elimine la ejecución. Si ve Eliminar y Ver versiones de retención, una o varias directivas de retención configuradas se siguen aplicando a la ejecución. Elija Ver versiones de retención, elimine las directivas (solo se quitan las directivas de la ejecución seleccionada) y, a continuación, elimine la ejecución.
Adición de una notificación de estado al repositorio
Muchos desarrolladores desean mostrar que mantienen la calidad de su código en un nivel alto y muestran una notificación de estado en su repositorio.
Para copiar la notificación de estado en el Portapapeles:
En Azure Pipelines, vaya a la página Canalizaciones para ver la lista de canalizaciones. Seleccione la canalización que creó en la sección anterior.
Seleccione y, a continuación, seleccione Notificación de estado.
Seleccione Notificación de estado.
Copie el Markdown de ejemplo de la sección Markdown de ejemplo.
Ahora, con el Markdown de la notificación en el Portapapeles, siga estos pasos en GitHub:
Vaya a la lista de archivos y seleccione
Readme.md
. Seleccione el icono de lápiz para editarlo.Pegue el Markdown de la notificación de estado al principio del archivo.
Confirme el cambio en la rama
main
.Observe que la notificación de estado aparece en la descripción del repositorio.
Para configurar el acceso anónimo a las notificaciones para proyectos privados:
Navegar a Configuración del proyectoen la esquina inferior izquierda de la página
Abra la pestaña Configuración en Canalizaciones.
Cambie el control deslizante Deshabilitar el acceso anónimo a las notificaciones en General.
Nota:
Incluso en un proyecto privado, el acceso anónimo a las notificaciones está habilitado de manera predeterminada. Con el acceso anónimo a las notificaciones habilitado, es posible que los usuarios ajenos a la organización puedan consultar información como nombres de proyecto, nombres de rama, nombres de trabajo y estado de compilación mediante la API de estado de notificación.
Dado que acaba de cambiar el archivo Readme.md
de este repositorio, Azure Pipelines compila automáticamente el código, según la configuración del archivo azure-pipelines.yml
en la raíz del repositorio. De nuevo en Azure Pipelines, observe que aparece una nueva ejecución. Cada vez que realice una edición, Azure Pipelines inicia una nueva ejecución.
Le mostraremos cómo usar el editor clásico en Azure DevOps Server 2019 para crear una compilación y una versión que imprima "Hola mundo".
Requisitos previos
Inicialización del repositorio
Si ya tiene un repositorio en el proyecto, puede ir al paso siguiente: Ir a agregar un script al repositorio
Vaya a Azure Repos. (La central de código fuente en la navegación anterior)
Si el proyecto está vacío, se le mostrará una pantalla que le ayudará a agregar código al repositorio. Elija la opción inferior para inicializar el repositorio con un archivo
readme
:
Vaya a Azure Repos.
Agregue un archivo.
En el cuadro de diálogo, asigne un nombre al nuevo archivo y créelo.
HelloWorld.ps1
Copie y pegue este script.
Write-Host "Hello world"
Confirme (guarde) el archivo.
En este tutorial, nuestro enfoque se centra en CI/CD, por lo que estamos simplificando la parte de código. Estamos trabajando en un repositorio de Git de Azure Repos directamente en el explorador web.
Cuando esté listo para empezar a compilar e implementar una aplicación real, puede usar una amplia gama de clientes y servicios de control de versiones con compilaciones de CI de Azure Pipelines. Más información.
Creación de una canalización de compilación
Cree una canalización de compilación que imprima "Hola mundo".
Seleccione Azure Pipelines, lo que le llevará automáticamente a la página Compilaciones.
Crear una canalización.
Para los nuevos usuarios de Azure DevOps, esto le llevará automáticamente a la experiencia de creación de canalizaciones de YAML. Para ir al editor clásico y completar esta guía, debe desactivar la característica en vista previa para la nueva experiencia de creación de canalizaciones YAML:
Asegúrese de que el origen, el proyecto, el repositorio y la rama predeterminada coincidan con la ubicación en la que creó el script.
Comience con un trabajo vacío.
En el lado izquierdo, seleccione Canalización y especifique el nombre que quiera usar. En Grupo de agentes, seleccione VS2017 hospedado.
En el lado izquierdo, seleccione el signo más ( + ) para agregar una tarea al Trabajo 1. En el lado derecho, seleccione la categoría Utilidad, seleccione la tarea PowerShell en la lista y, a continuación, elija Agregar.
En el lado izquierdo, seleccione la nueva tarea de script de PowerShell.
En el argumento Ruta de acceso del script, seleccione el botón para examinar el repositorio y seleccione el script que ha creado.
Seleccione Guardar y poner en cola y, después, seleccione Guardar.
Una canalización de compilación es la entidad mediante la cual se define la canalización de compilación automatizada. En la canalización de compilación, se crea un conjunto de tareas, cada una de las cuales realiza un paso en la compilación. El catálogo de tareas proporciona un amplio conjunto de tareas para que pueda empezar. También puede agregar scripts de PowerShell o del shell a la canalización de compilación.
Publicación de un artefacto desde la compilación
Una compilación típica genera un artefacto que luego se puede implementar en varias fases de una versión. Aquí, para demostrar la funcionalidad de una manera sencilla, simplemente publicaremos el script como artefacto.
En la pestaña Tareas, seleccione el signo más ( + ) para agregar una tarea al Trabajo 1.
Seleccione la categoría Utilidad, seleccione la tarea Publicar artefactos de compilación y, a continuación, seleccione Agregar.
Ruta de acceso para publicar: seleccione el botón para examinar y seleccionar el script que ha creado.
Nombre del artefacto: escriba
drop
.Ubicación de publicación de artefactos: seleccione Azure Artifacts/TFS.
Los artefactos son los archivos que desea que genere la compilación. Los artefactos pueden ser casi cualquier cosa que el equipo necesite probar o implementar la aplicación. Por ejemplo, tiene archivos ejecutables .DLL y .EXE y un archivo de símbolos .PDB de una aplicación de Windows de .NET con C# o C++.
Para permitirle generar artefactos, proporcionamos herramientas como copiar con coincidencia de patrones y un directorio de almacenamiento provisional en el que puede reunir los artefactos antes de publicarlos. Consulte Artefactos en Azure Pipelines.
Habilitación de la integración continua (CI)
Seleccione la pestaña Desencadenadores.
Habilite Integración continua.
Un desencadenador de integración continua en una canalización de compilación indica que el sistema debe poner automáticamente en cola una nueva compilación cada vez que se confirme un cambio de código. Puede hacer que el desencadenador sea más general o más específico, y también programar la compilación (por ejemplo, por noche). Consulte Desencadenadores de compilación.
Guardar y poner en cola la compilación
Guarde y ponga en cola una compilación manualmente y pruebe la canalización de compilación.
Seleccione Guardar y poner en cola y, después, seleccione Guardar y poner en cola.
En el cuadro de diálogo, seleccione Guardar y poner en cola una vez más.
Esto pone en cola una nueva compilación en el agente hospedado por Microsoft.
Aparece un vínculo a la nueva compilación en la parte superior de la página.
Seleccione el vínculo para ver la nueva compilación en directo. Una vez asignado el agente, empezará a ver los registros en directo de la compilación. Observe que el script de PowerShell se ejecuta como parte de la compilación y que se imprime "Hello world" en la consola.
Vaya al resumen de compilación. En la pestaña Artefactos de la compilación, observe que el script se ha publicado como un artefacto.
Agregar algunas variables y confirmar un cambio en el script
Pasaremos algunas variables de compilación al script para que nuestra canalización sea un poco más interesante. A continuación, confirmaremos un cambio en un script y observaremos que la canalización de CI se ejecutará automáticamente para validar el cambio.
Edite la canalización de compilación.
En la pestaña Tareas, seleccione la tarea Script de PowerShell.
Agregue estos argumentos.
Argumentos
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
Por último, guarde la canalización de compilación.
A continuación, agregará los argumentos al script.
Vaya a Archivos en Azure Repos (la central de Código fuente en la navegación anterior y TFS).
Seleccione el archivo HelloWorld.ps1 y, a continuación, edite el archivo.
Cambie el script de la siguiente manera:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger
Confirme (guarde) el script.
Ahora, puede ver los resultados de los cambios. Vaya a Azure Pipelines y seleccione En cola. Observe en la sección En cola o en ejecución que se desencadena automáticamente una compilación mediante el cambio que ha confirmado.
Seleccione la nueva compilación que se ha creado y observe su registro.
Observe que aparece impreso en el mensaje de saludo el nombre de la persona que cambió el código. También verá impreso que se trata de una compilación de CI.
Acabamos de introducir el concepto de variables de compilación en estos pasos. Imprimimos el valor de una variable que el sistema predefine e inicializa automáticamente. También puede definir variables personalizadas y usarlas en argumentos para las tareas o como variables de entorno dentro de los scripts. Para obtener más información sobre las variables, consulte Variables de compilación.
Ya tiene una canalización de compilación. Pasos siguientes
Ha creado una canalización de compilación que compila y valida automáticamente cualquier que el equipo inserte en el repositorio. En este momento, puede continuar con la sección siguiente para obtener información sobre las canalizaciones de versión. O bien, si lo prefiere, puede ir directamente a crear una canalización de compilación para la aplicación.
Creación de una canalización de versión
Defina el proceso para ejecutar el script en dos fases.
Vaya a la pestaña Canalizaciones y, a continuación, seleccione Versiones.
Seleccione la acción para crear una Nueva canalización. Si ya se ha creado una canalización de versión, seleccione el signo más ( + ) y, a continuación, seleccione Crear una canalización de versión.
Seleccione la acción para empezar con un Trabajo vacío.
Asigne a la fase el nombre QA.
En el panel Artefactos, seleccione + Agregar y especifique un Origen (canalización de compilación). Seleccione Agregar.
Seleccione el símbolo del rayo para desencadenar la implementación continua y, a continuación, habilite el desencadenador de implementación continua a la derecha.
Seleccione la pestaña Tareas y seleccione la fase QA.
Seleccione el signo más ( + ) del trabajo para agregar una tarea al trabajo.
En el cuadro de diálogo Agregar tareas, seleccione Utilidad, busque la tarea PowerShell y, a continuación, seleccione el botón Agregar.
En el lado izquierdo, seleccione la nueva tarea de script de PowerShell.
En el argumento Ruta de acceso del script, seleccione el botón para examinar los artefactos y seleccione el script que ha creado.
Agregue estos argumentos:
-greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
En la pestaña Canalización, seleccione la fase QA y seleccione Clonar.
Cambie el nombre de la fase clonada a Producción.
Cambie el nombre de la canalización de versión Hola mundo.
Guarde la canalización de versión.
Una canalización de versión es una colección de fases en las que se implementan los artefactos de compilación de las aplicaciones. También define la canalización de implementación real de cada fase, además de cómo se promueven los artefactos de una fase a otra.
Además, observe que hemos usado algunas variables en los argumentos del script. En este caso, usamos variables de versión en lugar de las variables de compilación que usamos para la canalización de compilación.
Implementación de una versión
Ejecute el script en cada fase.
Cree una nueva versión.
Cuando aparezca Crear nueva versión, seleccione Crear.
Abra la versión que ha creado.
Examine los registros para obtener datos en tiempo real sobre la versión.
Puede realizar un seguimiento del progreso de cada versión para ver si se ha implementado en todas las fases. Puede realizar un seguimiento de las confirmaciones que forman parte de cada versión, los elementos de trabajo asociados y los resultados de las ejecuciones de pruebas que haya agregado a la canalización de versión.
Cambiar el código y observar cómo se implementa automáticamente en producción
Vamos a realizar un cambio más en el script. Esta vez se compilará automáticamente y, a continuación, se implementará hasta la fase de producción.
Vaya a la central de Código fuente, a la pestaña Archivos, edite el archivo HelloWorld.ps1 y cámbielo de la siguiente manera:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
Confirme (guarde) el script.
Seleccione la pestaña Compilaciones para ver la compilación en cola y la ejecución.
Una vez completada la compilación, seleccione la pestaña Versiones, abra la nueva versión y, a continuación, vaya a Registros.
El nuevo código se ha implementado automáticamente en la fase QA y, a continuación, en la fase Producción.
En muchos casos, probablemente quiera editar la canalización de versión para que la implementación de producción solo se produzca después de que haya algunas pruebas y aprobaciones. Consulte Introducción a las aprobaciones y los controles.
Pasos siguientes
Ha aprendido cómo crear su primera canalización en Azure. Ahora, obtenga más información sobre la configuración de canalizaciones en el lenguaje que prefiera:
O puede continuar con la personalización de la canalización que acaba de crear.
Para ejecutar la canalización en un contenedor, consulte Trabajos de contenedor.
Para más información sobre cómo compilar repositorios de GitHub, consulte Compilación de repositorios de GitHub.
Para obtener información sobre cómo publicar los artefactos de la canalización, consulte Publicación de artefactos de canalización.
Para averiguar qué más puede hacer en las canalizaciones de YAML, consulte Referencia del esquema de YAML.
Limpiar
Si ha creado canalizaciones de prueba, son fáciles de eliminar cuando haya terminado con ellas.
Para eliminar una canalización, vaya a la página de resumen de esa canalización y elija Eliminar en el menú ... situado en la parte superior derecha de la página. Escriba el nombre de la canalización para confirmar la operación y seleccione Eliminar.
Ha aprendido los conceptos básicos de la creación y ejecución de una canalización. Ahora, está listo para configurar la canalización de compilación para el lenguaje de programación que usa. Continúe y cree una nueva canalización de compilación y, esta vez, use una de las siguientes plantillas.
Lenguaje | Plantilla que se va a usar |
---|---|
.NET | ASP.NET |
.NET Core | ASP.NET Core |
C++ | Escritorio de .NET |
Go | Go |
Java | Gradle |
JavaScript | Node.js |
Xcode | Xcode |
Preguntas más frecuentes
¿Dónde puedo leer artículos sobre DevOps y CI/CD?
¿Qué es la integración continua?
Descripción de la entrega continua
¿Qué sistema de control de versiones puedo usar?
Cuando esté listo para empezar a trabajar con CI/CD para la aplicación, puede usar el sistema de control de versiones de su elección:
Clientes
Servicios
- Azure Pipelines
- Proveedores de servicios de Git, como Git Repos de Azure Repos, GitHub y Bitbucket Cloud
- Subversion
Clientes
Servicios
- Azure Pipelines
- Proveedores de servicios de Git, como GitHub y Bitbucket Cloud
- Subversion
¿Cómo puedo replicar una canalización?
Si la canalización tiene un patrón que desea replicar en otras canalizaciones, puede clonarla, exportarla o guardarla como plantilla.
Después de clonar una canalización, puede realizar cambios y guardarlos.
Después de exportar una canalización, puede importarla desde la pestaña Todas las canalizaciones.
Después de crear una plantilla, los miembros del equipo pueden usarla para seguir el patrón en las nuevas canalizaciones.
Sugerencia
Si usa el nuevo editor de compilaciones, las plantillas personalizadas se muestran en la parte inferior de la lista.
¿Cómo puedo trabajar con borradores?
Si está editando una canalización de compilación y desea probar algunos cambios que aún no están listos para producción, puede guardarla como un borrador.
Puede editar y probar el borrador según sea necesario.
Cuando esté listo, puede publicar el borrador para combinar los cambios en la canalización de compilación.
O bien, si decide descartar el borrador, puede eliminarlo desde la pestaña Todas las canalizaciones mostrada anteriormente.
¿Cómo puedo eliminar una canalización?
Para eliminar una canalización, vaya a la página de resumen de esa canalización y elija Eliminar en el menú ... situado en la parte superior derecha de la página. Escriba el nombre de la canalización para confirmar la operación y seleccione Eliminar.
Puede poner en cola compilaciones de forma automática o manual.
Al poner en cola manualmente una compilación, para una sola ejecución de la compilación, puede hacer lo siguiente:
Especificar el grupo al que va la compilación.
Agregar y modificar algunas variables.
Agregar demandas.
En un repositorio de Git
Compile una confirmación.
En un repositorio de TFVC
Especifique la versión de origen como etiqueta o conjunto de cambios.
Ejecute una compilación privada de un conjunto de cambios agregados pendientes de confirmación. (Puede usar esta opción en un agente hospedado por Microsoft o en un agente autohospedado ).
Puede poner en cola compilaciones de forma automática o manual.
Al poner en cola manualmente una compilación, para una sola ejecución de la compilación, puede hacer lo siguiente:
¿Dónde puedo obtener más información sobre la configuración de la canalización?
Para obtener más información sobre la configuración de la canalización, consulte:
¿Cómo puedo crear mediante programación una canalización de compilación?
Referencia de la API REST: creación de una canalización de compilación
Nota
También puede administrar compilaciones y canalizaciones de compilación desde la línea de comandos o scripts mediante la CLI de Azure Pipelines.