Si tiene una canalización de Azure que genera artefactos, la canalización puede consumir los artefactos mediante la definición de un recurso de canalización. En Azure DevOps Server 2020 y versiones posteriores, también puede habilitar desencadenadores de finalización de canalización mediante un recurso de canalización.
YAML
pipelines:- pipeline:string# Required as first property. ID of the pipeline resource. project:string# Project for the source; defaults to current project. source:string# Name of the pipeline that produces the artifact. version:string# The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers. branch:string# Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers. tags:[string]# List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers. trigger:# Specify none to disable, true to include all branches, or use the full syntax as described in the following examples. enabled:boolean# Whether the trigger is enabled; defaults to true. branches:branches# Branches to include or exclude for triggering a run. stages:[string]# List of stages that when matched will trigger the pipeline. tags:[string]# List of tags that when matched will trigger the pipeline.
YAML
pipelines:- pipeline:string# Required as first property. ID of the pipeline resource. project:string# Project for the source; defaults to current project. source:string# Name of the pipeline that produces the artifact. version:string# The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers. branch:string# Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers. tags:[string]# List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers. trigger:# Specify none to disable, true to include all branches, or use the full syntax as described in the following examples. enabled:boolean# Whether the trigger is enabled; defaults to true. branches:branches# Branches to include or exclude for triggering a run.
YAML
pipelines:- pipeline:string# Required as first property. ID of the pipeline resource. project:string# Project for the source; defaults to current project. source:string# Name of the pipeline that produces the artifact. version:string# The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers. branch:string# Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
pipeline Cadena. Obligatorio como primera propiedad. Identificador del recurso de canalización. Valores aceptables: [-_A-Za-z0-9]*.
project Cadena. Proyecto para el origen; el valor predeterminado es el proyecto actual.
source Cadena. Nombre de la canalización que genera el artefacto. Si la canalización está contenida en una carpeta, incluya el nombre de la carpeta, incluido el inicial \, por ejemplo \security pipelines\security-lib-ci. Esta propiedad no distingue mayúsculas de minúsculas y no necesita comillas si el nombre incluye espacios. La ruta de acceso de la carpeta debe especificarse si hay varias canalizaciones con el mismo nombre.
version Cadena. El número de ejecución de la canalización para elegir el artefacto, tiene como valor predeterminado la canalización más reciente correcta en todas las fases; solo se usa para desencadenadores manuales o programados.
branch Cadena. Rama para elegir el artefacto. Opcional; el valor predeterminado es todas las ramas, que solo se usan para desencadenadores manuales o programados.
tags string list. Lista de etiquetas necesarias en la canalización para recoger artefactos predeterminados. Opcional; solo se usa para desencadenadores manuales o programados.
triggerresources.pipelines.pipeline.trigger. Especifique ninguno para deshabilitar, true para incluir todas las ramas o use la sintaxis completa, como se describe en los ejemplos siguientes.
Comentarios
Nota
pipeline: especifica el nombre del recurso de canalización. Use la etiqueta definida aquí al hacer referencia al recurso de canalización desde otras partes de la canalización, como al usar variables de recursos de canalización o descargar artefactos.
Hay varias maneras de definir desencadenadores en un recurso de canalización. Para desencadenar una ejecución cuando se complete cualquier ejecución de la canalización a la que se hace referencia, use trigger: true.
Para configurar filtros de rama, use la sintaxis completa. Los filtros de rama se pueden especificar como una lista de ramas que se van a incluir o como una lista de ramas que se van a incluir combinadas con una lista de ramas que se van a excluir.
Para especificar una lista de ramas que se van a incluir y excluir, use la siguiente trigger sintaxis.
Para especificar una lista de ramas que se van a incluir, sin exclusión, omita el exclude valor o use la siguiente sintaxis para especificar la lista de ramas que se van a incluir directamente después branchesde .
Para filtrar por fases o etiquetas, use la sintaxis siguiente trigger .
YAML
resources: pipelines: - pipeline:source-pipeline source:TriggeringPipeline trigger: branches:# Branches to include tags:# List of tags that when matched will trigger the pipeline. -release25 stages:# List of stages that when complete will trigger the pipeline. -build
Al definir un desencadenador de recursos, si su recurso de canalización procede del mismo repositorio que la canalización actual, el desencadenador sigue la misma rama y confirmación en la que se genera el evento.
Pero si el recurso de canalización procede de un repositorio diferente, la canalización actual se desencadena en la rama especificada por el valor de Rama predeterminada para compilaciones manuales y programadas. Para más información, consulte Consideraciones de rama para los desencadenadores de finalización de canalización.
Metadatos de recursos de canalización como variables predefinidas
En cada ejecución, los metadatos de un recurso de canalización están disponibles para todos los trabajos como las siguientes variables predefinidas. Estas variables están disponibles para la canalización en tiempo de ejecución y, por tanto, no se pueden usar en expresiones de plantilla, que se evalúan en tiempo de compilación de canalización.
projectName no está presente en las variables si el recurso de canalización no tiene un project valor especificado. La project propiedad es opcional para los recursos de canalización que hacen referencia a una canalización en el mismo proyecto, pero se pueden especificar si lo desea.
Reemplace por <Alias> el identificador del recurso de canalización. Para el siguiente recurso de canalización, la variable a la que se va a acceder runID es resources.pipeline.source-pipeline.runID.
Cuando una canalización se desencadena mediante uno de sus recursos de canalización, se establecen las siguientes variables además de las variables de la lista anterior.
Variable
Value
Build.Reason
ResourceTrigger
Resources.TriggeringAlias
Nombre del recurso de canalización, como source-pipeline en el ejemplo anterior.
Resource.TriggeringCategory
pipeline
En el ejemplo siguiente se incluyen dos recursos de canalización.
Esta canalización se ejecuta, la primera bash tarea genera el projectName del recurso de canalización denominado source-pipeline, que es FabrikamFiber.
La segunda bash tarea genera todas las variables de entorno disponibles para la tarea, incluidas las variables de recursos de canalización descritas en esta sección. La enumeración de variables de entorno no suele realizarse en una canalización de producción, pero puede ser útil para solucionar problemas. En este ejemplo hay dos recursos de canalización y la salida contiene las dos líneas siguientes.
Las variables definidas por el sistema y el usuario se insertan como variables de entorno para la plataforma. Cuando las variables se convierten en variables de entorno, los nombres de variable se convierten en mayúsculas y los puntos se convierten en caracteres de subrayado. Por ejemplo, el nombre any.variable de la variable se convierte en ANY_VARIABLE.
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.