definición steps.checkout
Use checkout
para configurar cómo la canalización desvía el código fuente.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
fetchTags: string # Set to 'true' to sync tags when fetching the repo, or 'false' to not sync tags. See remarks for the default behavior.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
Definiciones que hacen referencia a esta definición: pasos
Propiedades
checkout
Cadena. Obligatorio como primera propiedad.
Configura la desprotección del repositorio especificado. Especifique self
, none
, el nombre del repositorio o el recurso del repositorio. Para obtener más información, consulte Restauración de repositorios múltiples en la canalización.
Nota
Si no hay ningún checkout
paso presente, el valor predeterminado es self
para jobs.job.step.checkout
y none
para jobs.deployment.steps.checkout
.
checkout
Cadena. Obligatorio como primera propiedad.
Si se va a desactive o no el repositorio que contiene esta definición de canalización. Indique self
o none
.
clean
Cadena.
Si es true, ejecute git clean -ffdx seguido de git reset --hard HEAD antes de capturar. true | Falso.
fetchDepth
Cadena.
Profundidad del grafo de Git que se va a capturar.
fetchTags
Cadena.
Establézcalo en "true" para sincronizar etiquetas al capturar el repositorio o "false" para no sincronizar etiquetas. Consulte los comentarios para obtener el comportamiento predeterminado.
lfs
Cadena.
Establézcalo en "true" para descargar archivos git-LFS. El valor predeterminado no es descargarlos.
persistCredentials
Cadena.
Establezca en "true" para dejar el token de OAuth en la configuración de Git después de la captura inicial. El valor predeterminado no es dejarlo.
submodules
Cadena.
Establézcalo en "true" para un único nivel de submódulos o "recursivo" para obtener submódulos de submódulos. El valor predeterminado no es capturar submódulos.
path
Cadena.
Dónde colocar el repositorio. El directorio raíz es $(Pipeline.Workspace).
condition
Cadena.
Evalúe esta expresión de condición para determinar si se va a ejecutar esta tarea.
continueOnError
booleano.
¿Sigue ejecutándose incluso en caso de error?
displayName
Cadena.
Nombre legible de la tarea.
target
target.
Entorno en el que se va a ejecutar esta tarea.
enabled
booleano.
¿Ejecuta esta tarea cuando se ejecuta el trabajo?
env
diccionario de cadenas.
Variables que se van a asignar al entorno del proceso.
name
Cadena.
Id. del paso. Valores aceptables: [-_A-Za-z0-9]*.
timeoutInMinutes
Cadena.
Tiempo para esperar a que esta tarea se complete antes de que el servidor la mate.
Nota
Las canalizaciones se pueden configurar con un tiempo de espera de nivel de trabajo. Si el intervalo de tiempo de espera de nivel de trabajo transcurre antes de que se complete el paso, se finaliza el trabajo en ejecución (incluido el paso), incluso si el paso está configurado con un intervalo más largo timeoutInMinutes
. Para obtener más información, vea Tiempos de espera.
retryCountOnTaskFailure
Cadena.
Número de reintentos si se produce un error en la tarea.
Observaciones
Recuperación de cambios superficiales
Importante
Las nuevas canalizaciones creadas después de la actualización de sprint 209 de septiembre de 2022 de Azure DevOps tienen habilitada la recuperación de cambios superficiales de forma predeterminada y configurada con una profundidad de 1. Anteriormente, el valor predeterminado no era la recuperación de cambios superficiales. Para comprobar la canalización, vea la configuración captura superficial en la interfaz de usuario de configuración de la canalización.
Para deshabilitar la captura superficial, puede realizar una de las dos opciones siguientes.
- Deshabilite la opción Captura superficial en la interfaz de usuario de configuración de canalización.
- Establezca
fetchDepth: 0
explícitamente en elcheckout
paso.
Para configurar la profundidad de captura de una canalización, puede establecer la fetchDepth
propiedad en el checkout
paso o configurar el valor captura superficial en la interfaz de usuario de configuración de canalización.
Nota
Si establece fetchDepth
explícitamente en el paso checkout
, esa configuración tiene prioridad sobre la configuración de la interfaz de usuario de configuración de canalización. Al establecer fetchDepth: 0
se recupera todo el historial y se invalida la configuración derecuperación de cambios superficiales.
Clean (propiedad)
Si la clean
propiedad no está establecida, el valor predeterminado se configura mediante la configuración de limpieza en la configuración de la interfaz de usuario para canalizaciones YAML, que se establece en true de forma predeterminada. Además de la opción de limpieza disponible mediante checkout
, también puede configurar la limpieza en un área de trabajo. Para obtener más información sobre las áreas de trabajo y las opciones limpias, consulte el tema área de trabajo en Trabajos.
Sincronizar etiquetas
El paso de restauración usa la opción --tags
de recuperar el contenido de un repositorio de Git. Esto hace que el servidor recupere todas las etiquetas, así como todos los objetos a los que apuntan esas etiquetas. Esto aumenta el tiempo para ejecutar la tarea en una canalización, especialmente si tiene un repositorio grande con una serie de etiquetas. Además, el paso de restauración sincroniza las etiquetas incluso cuando se habilita la opción de recuperación superficial, lo que posiblemente acaba con su propósito. Para reducir la cantidad de datos recuperados o extraídos de un repositorio de Git, Microsoft ha agregado una nueva opción para restaurar y controlar el comportamiento de las etiquetas de sincronización. Esta opción está disponible tanto en canalizaciones clásicas como en YAML.
Si desea sincronizar etiquetas al restaurar un repositorio, se puede configurar en YAML estableciendo la propiedad fetchTags
y en la interfaz de usuario mediante la configuración de etiquetas de sincronización.
Para configurar el valor en YAML, establezca la propiedad fetchTags
.
steps:
- checkout: self
fetchTags: true
Para configurar la configuración en la interfaz de usuario de canalización, edite la canalización de YAML y elija Más acciones, Desencadenadores, YAML, Obtener orígenes y active o desactive la casilla Etiquetas de sincronización . Para más información, consulte Etiquetas de sincronización.
Comportamiento predeterminado
- En el caso de las canalizaciones existentes creadas antes del lanzamiento del sprint 209 de Azure DevOps, publicada en septiembre de 2022, el valor predeterminado de las etiquetas de sincronización sigue siendo el mismo que el comportamiento existente antes de agregar las opciones de etiquetas de sincronización, que es
true
. - En el caso de las nuevas canalizaciones creadas después del sprint 209 de Azure DevOps, el valor predeterminado de las etiquetas de sincronización es
false
.
Importante
Una configuración de etiquetas de sincronización de true en la interfaz de usuario tiene prioridad sobre una fetchTags: false
instrucción de YAML. Si las etiquetas de sincronización se establecen en true en la interfaz de usuario, las etiquetas se sincronizan incluso si fetchTags
se establece en false en YAML.
Ejemplos
Para evitar la sincronización de orígenes en absoluto:
steps:
- checkout: none
Nota
Si ejecuta el agente en la cuenta de servicio local y desea modificar el repositorio actual mediante operaciones de Git o carga de submódulos de Git, conceda los permisos adecuados al usuario de cuentas de servicio de compilación de colecciones de proyectos.
- checkout: self
submodules: true
persistCredentials: true
Para restaurar varios repositorios de la canalización, siga varios pasos checkout
:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Para obtener más información, consulte Restauración de repositorios múltiples en la canalización.