Usar variables predefinidas
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Las variables proporcionan una manera cómoda de obtener los bits de clave de los datos en distintas partes de la canalización. Aquí tiene una lista de variables predefinidas que están disponibles para su uso. Puede haber otras variables predefinidas, pero son principalmente para uso interno.
El sistema establece automáticamente estas variables y son de solo lectura. (Las excepciones son Build.Clean y System.Debug).
En las canalizaciones YAML, puede hacer referencia a variables predefinidas como variables de entorno. Por ejemplo, la variable Build.ArtifactStagingDirectory
se convierte en la variable BUILD_ARTIFACTSTAGINGDIRECTORY
.
En el caso de las canalizaciones clásicas, puede usar variables de versión en las tareas de implementación para compartir información común (por ejemplo, Nombre del entorno, Grupo de recursos, etc.).
Más información sobre cómo trabajar con variables.
Sugerencia
Puede pedir de Copilot para obtener ayuda con las variables. Para obtener más información, consulte Preguntar a Copilot para generar una fase con una condición basada en valores de variable.
Build.Clean
Se trata de una variable en desuso que modifica cómo el agente de compilación limpia el código fuente. Para información sobre cómo limpiar el código fuente, consulte Limpieza del repositorio local del agente.
System.AccessToken
System.AccessToken
es una variable especial que contiene el token de seguridad utilizado por la compilación en ejecución.
En YAML, debe asignar explícitamente System.AccessToken
a la canalización mediante una variable. Puede hacerlo en el nivel de paso o tarea. Por ejemplo, puede usar System.AccessToken
para autenticarse con un registro de contenedor.
steps:
- task: Docker@2
inputs:
command: login
containerRegistry: '<docker connection>'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Puede configurar el ámbito predeterminado de System.AccessToken
usando el ámbito de autorización de trabajos de compilación.
System.Debug
Si necesita registros más detallados para depurar problemas de canalización, defina System.Debug
y establézcalo en true
.
Edite la canalización.
Seleccione Variables.
Agregue una variable nueva con el nombre
System.Debug
y el valortrue
.Guarde la variable nueva.
Al establecer System.Debug
en true
, se configuran registros detallados para todas las ejecuciones. También puede configurar registros detallados para una sola ejecución con la casilla Habilitar diagnósticos del sistema.
También puede establecer System.Debug
en true
como una variable en una canalización o plantilla.
variables:
system.debug: 'true'
Cuando System.Debug
se establece en true
, una variable adicional denominada Agent.Diagnostic
se establece en true
. Cuando Agent.Diagnostic
es true
, el agente recopila más registros que se pueden usar para solucionar problemas de red para agentes autohospedados. Para obtener más información, consulte Diagnósticos de red para agentes autohospedados.
Nota:
La Agent.Diagnostic
variable está disponible con agent v2.200.0 y versiones posteriores.
Para más información, consulte Revisión de registros para diagnosticar problemas de canalización.
Variables de agente (DevOps Services)
Nota:
Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.
Variable | Descripción |
---|---|
Agent.BuildDirectory | La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace . Por ejemplo: /home/vsts/work/1 . |
Agent.ContainerMapping | Asignación de nombres de recursos de contenedor en YAML a sus identificadores de Docker en tiempo de ejecución. A continuación se muestra una tabla de ejemplo. |
Agent.HomeDirectory | Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent . |
Agent.Id | Id. del agente. |
Agent.JobName | Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración. |
Agent.JobStatus | Estado de la compilación.
AGENT_JOBSTATUS . El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores. |
Agent.MachineName | El nombre de la máquina en la que está instalado el agente. |
Agent.Name | Nombre del agente registrado con el grupo. Si usa un agente autohospedado, este nombre lo especifica usted. Consulte Agentes. |
Agent.OS | Sistema operativo del host de agente. Los valores válidos son:
|
Agent.OSArchitecture | Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
|
Agent.TempDirectory | Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen. Por ejemplo, /home/vsts/work/_temp para Ubuntu. |
Agent.ToolsDirectory | Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta. Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.Aprenda cómo administrar este directorio en un agente autohospedado. |
Agent.WorkFolder | Directorio de trabajo de este agente. Por ejemplo: c:\agent_work .Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor) |
Ejemplo de Agent.ContainerMapping:
{
"one_container": {
"id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
},
"another_container": {
"id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
}
}
Variables de compilación (DevOps Services)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
Build.ArtifactStagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a .Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildId | Identificador del registro de la compilación completada. | No |
Build.BuildNumber | Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor. Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildUri | URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430 .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BinariesDirectory | Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados. De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio. Por ejemplo: c:\agent_work\1\b .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.ContainerId | Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. | No |
Build.CronSchedule.DisplayName |
displayName de la programación cron que desencadenó la ejecución de la canalización. Esta variable solo se establece si un desencadenador programado de YAML desencadena la ejecución de la canalización. Para obtener más información, vea Definición de schedules.cron: variable Build.CronSchedule.DisplayName |
Sí |
Build.DefinitionName | Nombre de la canalización de compilación. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.DefinitionVersion | Versión de la canalización de compilación. | Sí |
Build.QueuedBy | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.QueuedById | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.Reason | Evento que provocó la ejecución de la compilación.
|
Sí |
Build.Repository.Clean | Valor seleccionado para Limpiar en la configuración del repositorio de origen. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.LocalPath | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s .De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
|
No |
Build.Repository.ID | Identificador único del repositorio. Este valor no cambiará, incluso si el nombre del repositorio lo hace. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Name | Nombre del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Provider | Tipo del repositorio desencadenante.
|
No |
Build.Repository.Tfvc.Workspace | Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación. Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8 , el nombre del área de trabajo podría ser ws_12_8 .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Uri | Dirección URL del repositorio desencadenante. Por ejemplo: Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.RequestedFor | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.RequestedForEmail | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.RequestedForId | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.SourceBranch | Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
/ ) se reemplazan por caracteres de subrayado _ ).Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación. |
Sí |
Build.SourceBranchName | Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
|
Sí |
Build.SourcesDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s .De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s , incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath).Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceVersion | Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
|
Sí |
Build.SourceVersionMessage | Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.Build.SourceVersionMessage corresponde al mensaje de la confirmación de Build.SourceVersion . La confirmación de Build.SourceVersion de una compilación de solicitud de incorporación de cambios es la confirmación de combinación (no la confirmación de la rama de origen).Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y el código se extrae). Nota: Esta variable está disponible en TFS 2015.4. Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso. |
No |
Build.StagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a .Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Git.SubmoduleCheckout | Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceTfvcShelveset | Se define si el repositorio es Control de versiones de Team Foundation. Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar. Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación. |
No |
Build.TriggeredBy.BuildId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.DefinitionId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.DefinitionName | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.BuildNumber | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.ProjectID | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Common.TestResultsDirectory | Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de canalización (DevOps Services)
Variable | Descripción |
---|---|
Pipeline.Workspace | Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory . Por ejemplo, /home/vsts/work/1 . |
Sugerencia
Si usa canalizaciones de versión clásicas, puede utilizar variables de artefactos y versiones clásicas para almacenar los datos y acceder a ellos en toda la canalización.
Variables de trabajo de implementación (DevOps Services)
Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.
Variable | Descripción |
---|---|
Environment.Name | Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev . |
Environment.Id | Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10 . |
Environment.ResourceName | Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings , que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev . |
Environment.ResourceId | Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4 . |
Strategy.Name | Nombre de la estrategia de implementación: canary , runOnce o rolling . |
Strategy.CycleName | Nombre del ciclo actual en una implementación. Las opciones son PreIteration , Iteration o PostIteration . |
Variables del sistema (DevOps Services)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
System.AccessToken |
Use el token de OAuth para acceder a la API REST. Use System.AccessToken desde scripts de YAML. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.CollectionId | GUID de la colección de TFS o de la organización de Azure DevOps. | Sí |
System.CollectionUri | URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/ . |
Sí |
System.DefaultWorkingDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.DefinitionId | Identificador de la canalización de compilación. | Sí |
System.HostType | Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente). |
Sí |
System.JobAttempt | Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. | No |
System.JobDisplayName | Nombre legible dado a un trabajo. | No |
System.JobId | Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. | No |
System.JobName | Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.OidcRequestUri | Genere un idToken para la autenticación con Entra ID mediante OpenID Connect (OIDC).
Más información. |
Sí |
System.PhaseAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo. Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas. |
No |
System.PhaseDisplayName | Nombre legible asignado a una fase. | No |
System.PhaseName | Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.PlanId | Identificador basado en cadenas de una sola ejecución de canalización. | No |
System.PullRequest.IsFork | Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True .De lo contrario, se establece en False . |
Sí |
System.PullRequest.PullRequestId | Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17 . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
No |
System.PullRequest.PullRequestNumber | Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. | No |
System.PullRequest.targetBranchName | Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. | No |
System.PullRequest.SourceBranch | Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo, refs/heads/users/raisa/new-feature para Azure Repos. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.PullRequest.SourceCommitId | El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. | |
System.PullRequest.SourceRepositoryURI | Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject . |
No |
System.PullRequest.TargetBranch | Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.StageAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. | No |
System.StageDisplayName | Nombre legible asignado a una fase. | No |
System.StageName | Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.TeamFoundationCollectionUri | URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/ .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.TeamProject | Nombre del proyecto que contiene esta compilación. | Sí |
System.TeamProjectId | Identificador del proyecto al que pertenece esta compilación. | Sí |
System.TimelineId | Identificador basado en cadenas de los detalles de ejecución y los registros de una sola ejecución de canalización. | No |
TF_BUILD | Se establece en True si una tarea de compilación ejecuta el script.Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de comprobaciones (DevOps Services)
Variable | Descripción |
---|---|
Checks.StageAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. Esta variable solo se puede usar dentro de una aprobación o comprobación de un entorno. Por ejemplo, puede usar $(Checks.StageAttempt) dentro de una comprobación de invocación de la API REST. |
Variables de agente (DevOps Server 2022)
Nota:
Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.
Variable | Descripción |
---|---|
Agent.BuildDirectory | La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace . Por ejemplo: /home/vsts/work/1 . |
Agent.ContainerMapping | Asignación de nombres de recursos de contenedor en YAML a sus identificadores de Docker en tiempo de ejecución. A continuación se muestra una tabla de ejemplo. |
Agent.HomeDirectory | Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent . |
Agent.Id | Id. del agente. |
Agent.JobName | Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración. |
Agent.JobStatus | Estado de la compilación.
AGENT_JOBSTATUS . El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores. |
Agent.MachineName | El nombre de la máquina en la que está instalado el agente. |
Agent.Name | Nombre del agente registrado con el grupo. Si usa un agente autohospedado, este nombre lo especifica usted. Consulte Agentes. |
Agent.OS | Sistema operativo del host de agente. Los valores válidos son:
|
Agent.OSArchitecture | Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
|
Agent.TempDirectory | Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen. Por ejemplo, /home/vsts/work/_temp para Ubuntu. |
Agent.ToolsDirectory | Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta. Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.Aprenda cómo administrar este directorio en un agente autohospedado. |
Agent.WorkFolder | Directorio de trabajo de este agente. Por ejemplo: c:\agent_work .Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor). |
Ejemplo de Agent.ContainerMapping:
{
"one_container": {
"id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
},
"another_container": {
"id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
}
}
Variables de compilación (DevOps Server 2022)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
Build.ArtifactStagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildId | Identificador del registro de la compilación completada. | No |
Build.BuildNumber | Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor. Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildUri | URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430 . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BinariesDirectory | Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados. De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio. Por ejemplo: c:\agent_work\1\b . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.ContainerId | Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. | No |
Build.CronSchedule.DisplayName |
displayName de la programación cron que desencadenó la ejecución de la canalización. Esta variable solo se establece si un desencadenador programado de YAML desencadena la ejecución de la canalización. Para obtener más información, vea Definición de schedules.cron: variable Build.CronSchedule.DisplayName. Esta variable está disponible en Azure DevOps Server 2022.1 y versiones posteriores. |
Sí |
Build.DefinitionName | Nombre de la canalización de compilación. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.DefinitionVersion | Versión de la canalización de compilación. | Sí |
Build.QueuedBy | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.QueuedById | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.Reason | Evento que provocó la ejecución de la compilación.
|
Sí |
Build.Repository.Clean | Valor seleccionado para Limpiar en la configuración del repositorio de origen. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.LocalPath | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s . De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
|
No |
Build.Repository.ID | Identificador único del repositorio. Este valor no cambiará, incluso si el nombre del repositorio lo hace. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Name | Nombre del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Provider | Tipo del repositorio desencadenante.
|
No |
Build.Repository.Tfvc.Workspace | Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación. Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8 , el nombre del área de trabajo podría ser ws_12_8 .Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Uri | Dirección URL del repositorio desencadenante. Por ejemplo:Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. | No |
Build.RequestedFor | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.RequestedForEmail | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.RequestedForId | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.SourceBranch | Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
/ ) se reemplazan por caracteres de subrayado _ ).Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación. |
Sí |
Build.SourceBranchName | Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
|
Sí |
Build.SourcesDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s . De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s , incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath).Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceVersion | Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
|
Sí |
Build.SourceVersionMessage | Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.Build.SourceVersionMessage corresponde al mensaje de la confirmación de Build.SourceVersion . La confirmación de Build.SourceVersion de una compilación de solicitud de incorporación de cambios es la confirmación de combinación (no la confirmación de la rama de origen). Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y el código se extrae). Nota: Esta variable está disponible en TFS 2015.4. Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso. |
No |
Build.StagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Git.SubmoduleCheckout | Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceTfvcShelveset | Se define si el repositorio es Control de versiones de Team Foundation. Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar. Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación. |
No |
Build.TriggeredBy.BuildId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.DefinitionId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.DefinitionName | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.BuildNumber | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Build.TriggeredBy.ProjectID | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Si va a desencadenar una canalización YAML mediante resources , debe usar en su lugar las variables de recursos. |
No |
Common.TestResultsDirectory | Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de canalización (DevOps Server 2022)
Variable | Descripción |
---|---|
Pipeline.Workspace | Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory . Por ejemplo, /home/vsts/work/1 . |
Sugerencia
Si usa canalizaciones de versión clásicas, puede utilizar variables de artefactos y versiones clásicas para almacenar los datos y acceder a ellos en toda la canalización.
Variables de trabajo de implementación (DevOps Server 2022)
Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.
Variable | Descripción |
---|---|
Environment.Name | Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev . |
Environment.Id | Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10 . |
Environment.ResourceName | Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings , que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev . |
Environment.ResourceId | Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4 . |
Strategy.Name | Nombre de la estrategia de implementación: canary , runOnce o rolling . |
Strategy.CycleName | Nombre del ciclo actual en una implementación. Las opciones son PreIteration , Iteration o PostIteration . |
Variables del sistema (DevOps Server 2022)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
System.AccessToken |
Use el token de OAuth para acceder a la API REST. Use System.AccessToken desde scripts de YAML. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.CollectionId | GUID de la colección de TFS o de la organización de Azure DevOps. | Sí |
System.CollectionUri | URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/ . |
Sí |
System.DefaultWorkingDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.DefinitionId | Identificador de la canalización de compilación. | Sí |
System.HostType | Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente). |
Sí |
System.JobAttempt | Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. | No |
System.JobDisplayName | Nombre legible dado a un trabajo. | No |
System.JobId | Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. | No |
System.JobName | Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.PhaseAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo. Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas. |
No |
System.PhaseDisplayName | Nombre legible asignado a una fase. | No |
System.PhaseName | Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.PlanId | Identificador basado en cadenas de una sola ejecución de canalización. | No |
System.PullRequest.IsFork | Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True . De lo contrario, se establece en False . |
Sí |
System.PullRequest.PullRequestId | Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17 . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
No |
System.PullRequest.PullRequestNumber | Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. | No |
System.PullRequest.targetBranchName | Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. | No |
System.PullRequest.SourceBranch | Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo, refs/heads/users/raisa/new-feature para Azure Repos. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.PullRequest.SourceRepositoryURI | Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject . |
No |
System.PullRequest.TargetBranch | Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.StageAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. | No |
System.StageDisplayName | Nombre legible asignado a una fase. | No |
System.StageName | Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.TeamFoundationCollectionUri | URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/ . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.TeamProject | Nombre del proyecto que contiene esta compilación. | Sí |
System.TeamProjectId | Identificador del proyecto al que pertenece esta compilación. | Sí |
System.TimelineId | Identificador basado en cadenas de los detalles de ejecución y los registros de una sola ejecución de canalización. | No |
TF_BUILD | Se establece en True si una tarea de compilación ejecuta el script. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de comprobaciones (DevOps Server 2022)
Variable | Descripción |
---|---|
Checks.StageAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. Esta variable solo se puede usar dentro de una aprobación o comprobación de un entorno. Por ejemplo, puede usar $(Checks.StageAttempt) dentro de una comprobación de invocación de la API REST. |
Variables de agente (DevOps Server 2020)
Nota:
Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.
Variable | Descripción |
---|---|
Agent.BuildDirectory | La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace . Por ejemplo: /home/vsts/work/1 . |
Agent.HomeDirectory | Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent . |
Agent.Id | Id. del agente. |
Agent.JobName | Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración. |
Agent.JobStatus | Estado de la compilación.
AGENT_JOBSTATUS . El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores. |
Agent.MachineName | El nombre de la máquina en la que está instalado el agente. |
Agent.Name | Nombre del agente registrado con el grupo. Si usa un agente autohospedado, este nombre lo establece usted. Consulte Agentes. |
Agent.OS | Sistema operativo del host de agente. Los valores válidos son:
|
Agent.OSArchitecture | Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
|
Agent.TempDirectory | Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen. Por ejemplo, /home/vsts/work/_temp para Ubuntu. |
Agent.ToolsDirectory | Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta. Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores. Aprenda cómo administrar este directorio en un agente autohospedado. |
Agent.WorkFolder | Directorio de trabajo de este agente. Por ejemplo: c:\agent_work . Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor) |
Variables de compilación (DevOps Server 2020)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
Build.ArtifactStagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildId | Identificador del registro de la compilación completada. | No |
Build.BuildNumber | Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor. Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BuildUri | URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430 . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.BinariesDirectory | Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados. De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio. Por ejemplo: c:\agent_work\1\b . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.ContainerId | Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. | No |
Build.DefinitionName | Nombre de la canalización de compilación. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.DefinitionVersion | Versión de la canalización de compilación. | Sí |
Build.QueuedBy | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.QueuedById | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.Reason | Evento que provocó la ejecución de la compilación.
|
Sí |
Build.Repository.Clean | Valor seleccionado para Limpiar en la configuración del repositorio de origen. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.LocalPath | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s . De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
|
No |
Build.Repository.ID | Identificador único del repositorio. Este valor no cambiará, incluso si el nombre del repositorio lo hace. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Name | Nombre del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Provider | Tipo del repositorio desencadenante.
|
No |
Build.Repository.Tfvc.Workspace | Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación. Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8 , el nombre del área de trabajo podría ser ws_12_8 . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Uri | Dirección URL del repositorio desencadenante. Por ejemplo: Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.RequestedFor | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Sí |
Build.RequestedForEmail | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.RequestedForId | Consulte "¿Cómo se establecen las variables de identidad?". | Sí |
Build.SourceBranch | Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
/ ) se reemplazan por caracteres de subrayado _ ). Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación. |
Sí |
Build.SourceBranchName | Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
|
Sí |
Build.SourcesDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s . De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s , incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath). Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceVersion | Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
|
Sí |
Build.SourceVersionMessage | Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y extraído el código del repositorio). Nota: Esta variable está disponible en TFS 2015.4. Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso. |
No |
Build.StagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.Repository.Git.SubmoduleCheckout | Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.SourceTfvcShelveset | Se define si el repositorio es Control de versiones de Team Foundation. Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar. Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación. |
No |
Build.TriggeredBy.BuildId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.TriggeredBy.DefinitionId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.TriggeredBy.DefinitionName | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.TriggeredBy.BuildNumber | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Build.TriggeredBy.ProjectID | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Common.TestResultsDirectory | Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de canalización (DevOps Server 2020)
Variable | Descripción |
---|---|
Pipeline.Workspace | Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory . Por ejemplo, /home/vsts/work/1 . |
Variables de trabajo de implementación (DevOps Server 2020)
Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.
Variable | Descripción |
---|---|
Environment.Name | Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev . |
Environment.Id | Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10 . |
Environment.ResourceName | Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings , que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev . |
Environment.ResourceId | Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4 . |
Variables del sistema (DevOps Server 2020)
Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.
Variable | Descripción | ¿Está disponible en plantillas? |
---|---|---|
System.AccessToken |
Use el token de OAuth para acceder a la API REST. Use System.AccessToken desde scripts de YAML. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.CollectionId | GUID de la colección de TFS o de la organización de Azure DevOps. | Sí |
System.CollectionUri | URI de la colección de Team Foundation Server de cadena. | Sí |
System.DefaultWorkingDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
System.DefinitionId | Identificador de la canalización de compilación. | Sí |
System.HostType | Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente). |
Sí |
System.JobAttempt | Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. | No |
System.JobDisplayName | Nombre legible dado a un trabajo. | No |
System.JobId | Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. | No |
System.JobName | Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.PhaseAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo. Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas. |
No |
System.PhaseDisplayName | Nombre legible asignado a una fase. | No |
System.PhaseName | Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. | No |
System.StageAttempt | Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo. | No |
System.StageDisplayName | Nombre legible asignado a una fase. | No |
System.StageName | Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida. | Sí |
System.PullRequest.IsFork | Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True . De lo contrario, se establece en False . |
Sí |
System.PullRequest.PullRequestId | Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17 . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
No |
System.PullRequest.PullRequestNumber | Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. | No |
System.PullRequest.targetBranchName | Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. | No |
System.PullRequest.SourceBranch | Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo: refs/heads/users/raisa/new-feature . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.PullRequest.SourceCommitId | El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. | |
System.PullRequest.SourceRepositoryURI | Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject . |
No |
System.PullRequest.TargetBranch | Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. |
No |
System.TeamFoundationCollectionUri | URI de la colección de Team Foundation. Por ejemplo: https://dev.azure.com/fabrikamfiber/ . Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Sí |
System.TeamProject | Nombre del proyecto que contiene esta compilación. | Sí |
System.TeamProjectId | Identificador del proyecto al que pertenece esta compilación. | Sí |
TF_BUILD | Se establece en True si una tarea de compilación ejecuta el script. Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
No |
Variables de agente (DevOps Server 2019)
Nota:
Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.
Variable | Descripción |
---|---|
Agent.BuildDirectory | La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Por ejemplo: c:\agent_work\1 . |
Agent.HomeDirectory | Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent . |
Agent.Id | Id. del agente. |
Agent.JobName | Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración. |
Agent.JobStatus | Estado de la compilación.
AGENT_JOBSTATUS . El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores. |
Agent.MachineName | El nombre de la máquina en la que está instalado el agente. |
Agent.Name | Nombre del agente registrado con el grupo. Si usa un agente autohospedado, este nombre lo establece usted. Consulte Agentes. |
Agent.OS | Sistema operativo del host de agente. Los valores válidos son:
|
Agent.OSArchitecture | Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
|
Agent.TempDirectory | Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen. |
Agent.ToolsDirectory | Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta. Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores. Aprenda cómo administrar este directorio en un agente autohospedado. |
Agent.WorkFolder | Directorio de trabajo de este agente. Por ejemplo: c:\agent_work . No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor). |
Variables de compilación (DevOps Server 2019)
Variable | Descripción |
---|---|
Build.ArtifactStagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.BuildId | Identificador del registro de la compilación completada. |
Build.BuildNumber | Nombre de la compilación completada. Puede especificar el formato de número de compilación que genera este valor en las opciones de canalización. Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.BuildUri | URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430 . Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.BinariesDirectory | Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados. De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio. Por ejemplo: c:\agent_work\1\b . Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.DefinitionName | Nombre de la canalización de compilación. Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Build.DefinitionVersion | Versión de la canalización de compilación. |
Build.QueuedBy | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Build.QueuedById | Consulte "¿Cómo se establecen las variables de identidad?". |
Build.Reason | Evento que provocó la ejecución de la compilación.
|
Build.Repository.Clean | Valor seleccionado para Limpiar en la configuración del repositorio de origen. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.Repository.LocalPath | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Esta variable es sinónimo de Build.SourcesDirectory. |
Build.Repository.Name | El nombre del repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.Repository.Provider | Tipo del repositorio seleccionado.
|
Build.Repository.Tfvc.Workspace | Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación. Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8 , el nombre del área de trabajo podría ser ws_12_8 . Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.Repository.Uri | Dirección URL del repositorio. Por ejemplo: Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.RequestedFor | Consulte "¿Cómo se establecen las variables de identidad?". Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta. |
Build.RequestedForEmail | Consulte "¿Cómo se establecen las variables de identidad?". |
Build.RequestedForId | Consulte "¿Cómo se establecen las variables de identidad?". |
Build.SourceBranch | Rama para la que se puso en cola la compilación. He aquí algunos ejemplos:
/ ) se reemplazan por caracteres de subrayado (_ ). Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación. |
Build.SourceBranchName | Nombre de la rama para la que se puso en cola la compilación.
|
Build.SourcesDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s .De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Esta variable es sinónimo de Build.Repository.LocalPath. |
Build.SourceVersion | El cambio de control de versiones más reciente que se incluye en esta compilación.
|
Build.SourceVersionMessage | Comentario de la confirmación o del conjunto de cambios. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. Nota: Esta variable está disponible en TFS 2015.4. Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso. |
Build.StagingDirectory | Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a . Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación. Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo. Consulte Artefactos en Azure Pipelines. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.Repository.Git.SubmoduleCheckout | El valor que ha seleccionado para Extraer submódulos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.SourceTfvcShelveset | Se define si el repositorio es Control de versiones de Team Foundation. Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar. Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación. |
Build.TriggeredBy.BuildId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.TriggeredBy.DefinitionId | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.TriggeredBy.DefinitionName | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.TriggeredBy.BuildNumber | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Build.TriggeredBy.ProjectID | Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Common.TestResultsDirectory | Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults . Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
Variables del sistema (DevOps Server 2019)
Script de PowerShell de ejemplo: acceso a la API de REST
Variable | Descripción |
---|---|
System.AccessToken |
Use el token de OAuth para acceder a la API REST. Use System.AccessToken desde scripts de YAML. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
System.CollectionId | GUID de la colección de TFS o de la organización de Azure DevOps. |
System.DefaultWorkingDirectory | Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
System.DefinitionId | Identificador de la canalización de compilación. |
System.HostType | Establézcala en build si la canalización es una compilación. Con una versión, los valores son deployment para un trabajo de grupo de implementación y release para un trabajo del agente. |
System.PullRequest.IsFork | Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True . De lo contrario, se establece en False . |
System.PullRequest.PullRequestId | Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17 . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
System.PullRequest.PullRequestNumber | Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. |
System.PullRequest.SourceBranch | Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo: refs/heads/users/raisa/new-feature . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
System.PullRequest.SourceCommitId | El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). |
System.PullRequest.SourceRepositoryURI | Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject . (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git de Azure Repos afectada por una directiva de rama. No se inicializa para las solicitudes de incorporación de cambios de GitHub). |
System.PullRequest.TargetBranch | Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo: refs/heads/main . Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. |
System.TeamFoundationCollectionUri | URI de la colección de Team Foundation. Por ejemplo: https://dev.azure.com/fabrikamfiber/ . Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
System.TeamProject | Nombre del proyecto que contiene esta compilación. |
System.TeamProjectId | Identificador del proyecto al que pertenece esta compilación. |
TF_BUILD | Se establece en True si una tarea de compilación ejecuta el script. Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. |
¿Cómo se establecen las variables de identidad?
El valor depende de lo que provocó la compilación y son específicas de los repositorios de Azure Repos.
Si se desencadena la compilación... | Los valores Build.QueuedBy y Build.QueuedById se basan en... | Los valores Build.RequestedFor y Build.RequestedForId se basan en... |
---|---|---|
En Git o mediante los desencadenadores de integración continua (CI) | La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts |
La persona que insertó los cambios en el repositorio. |
En Git o mediante una compilación de directiva de rama. | La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts |
La persona que insertó los cambios en el repositorio. |
En TFVC mediante un desencadenador de inserción en el repositorio validada. | La persona que insertó los cambios en el repositorio. | La persona que insertó los cambios en el repositorio. |
En Git o TFVC mediante los desencadenadores programados. | La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts |
La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts |
Porque ha hecho clic en el botón Poner compilación en cola. | Usted | Usted |
Pida a Copilot que genere una fase con una condición basada en valores de variable
Use copilot para generar una fase con una condición determinada por el valor de una variable.
Este mensaje de ejemplo define una fase que se ejecuta cuando Agent.JobStatus
indica que la fase anterior se ejecutó correctamente:
Cree una nueva fase de Azure DevOps que solo se ejecute cuando
Agent.JobStatus
seSucceeded
oSucceededWithIssues
.
Puede personalizar la solicitud para usar valores que cumplan sus requisitos. Por ejemplo, puede solicitar ayuda para crear una fase que solo se ejecute cuando se produzca un error en una canalización.
Nota:
GitHub Copilot se basa en la inteligencia artificial, por lo que son posibles sorpresas y errores. Asegúrese de comprobar cualquier código o sugerencia generado. Para obtener más información sobre el uso general de GitHub Copilot, impacto en el producto, supervisión humana y privacidad, consulte preguntas más frecuentes sobre GitHub Copilot.