Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use checkout
para configurar como o pipeline verifica o código-fonte.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: true | false # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
fetchFilter: string # Filter Git history.
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).
sparseCheckoutDirectories: string # Directories for sparse checkout in cone mode and prioritized over sparseCheckoutPatterns if both properties are provided.
sparseCheckoutPatterns: string # Patterns for sparse checkout in non-cone mode that are ignored if sparseCheckoutDirectories is provided.
workspaceRepo: true | false # When true, use the repository root directory as the default working directory for the pipeline. The default is false.
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: true | false # 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: true | false # 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: true | false # 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.
Definições que fazem referência a essa definição: etapas
Propriedades
checkout
cadeia de caracteres. Obrigatório como primeira propriedade.
Configura o check-out do repositório especificado. Especifique self
, none
, nome do repositórioou de recursos do repositório. Para obter mais informações, consulte Confira vários repositórios em seu pipeline.
Nota
Se nenhuma etapa checkout
estiver presente, o padrão será self
para jobs.job.step.checkout
e none
para jobs.deployment.steps.checkout
.
clean
cadeia de caracteres.
Se verdadeiro, execute o git clean -ffdx seguido por git reset --hard HEAD antes de buscar. true | falso.
fetchDepth
cadeia de caracteres.
Profundidade do grafo git a ser buscado.
fetchFilter
cadeia de caracteres.
Usar fetchFilter
para filtrar o histórico do Git para clonagem parcial. A configuração de fetchFilter
dá suporte a buscas sem árvore e blobless. Para uma busca sem árvore, especifique fetchFilter: tree:0
e especifique uma busca de blobless, especifique fetchFilter: blob:none
. O padrão não é filtragem.
fetchTags
cadeia de caracteres.
Definido como 'true' para sincronizar marcas ao buscar o repositório ou 'false' para não sincronizar marcas. Consulte comentários sobre o comportamento padrão.
lfs
cadeia de caracteres.
Definir como 'true' para baixar arquivos Git-LFS. O padrão não é baixá-los.
persistCredentials
cadeia de caracteres.
Definido como 'true' para deixar o token OAuth na configuração do Git após a busca inicial. O padrão é não deixá-lo.
submodules
cadeia de caracteres.
Definido como 'true' para um único nível de submódulos ou 'recursivo' para obter submodules de submodules. O padrão não é buscar submódulos.
path
cadeia de caracteres.
Onde colocar o repositório. O diretório raiz é $(Pipeline.Workspace). Por padrão, essa pasta deve estar na estrutura do diretório de trabalho do agente. Para definir um caminho fora do diretório de trabalho do agente, defina uma variável de pipeline chamada AZP_AGENT_ALLOW_WORK_DIRECTORY_REPOSITORIES
como true e use o prefixo ../
no início do caminho de check-out. Compatível com o agente versão 3.230.0 e superior.
sparseCheckoutDirectories
cadeia de caracteres.
Especificar um diretório para habilitar o check-out esparso no modo cone usando a correspondência de diretório. Separe vários diretórios usando um espaço. Compatível com o agente versão 3.253.0/4.253.0 e superior com Git 2.25 ou superior.
- checkout: repo
sparseCheckoutDirectories: src
Se sparseCheckoutDirectories
e sparseCheckoutPatterns
estiverem definidos, sparseCheckoutDirectories
será usado e a configuração para sparseCheckoutPatterns
será desconsiderada.
Para obter mais informações sobre o check-out esparso, consulte Reduzir o tamanho do monorepo comde check-out esparso.
sparseCheckoutPatterns
cadeia de caracteres.
Especifique um padrão para habilitar o check-out esparso no modo não cone usando a correspondência de padrões. Separe vários padrões usando um espaço. Compatível com o agente versão 3.253.0/4.253.0 e superior com Git 2.25 ou superior.
- checkout: repo
sparseCheckoutPatterns: /* !/img
Se sparseCheckoutDirectories
e sparseCheckoutPatterns
estiverem definidos, sparseCheckoutDirectories
será usado e a configuração para sparseCheckoutPatterns
será desconsiderada.
Para obter mais informações sobre o check-out esparso, consulte Reduzir o tamanho do monorepo comde check-out esparso.
workspaceRepo
cadeia de caracteres.
Quando verdadeiro, use o diretório raiz do repositório como o diretório de trabalho padrão para o pipeline. O padrão é false.
condition
cadeia de caracteres.
Avaliar essa expressão de condição para determinar se essa tarefa deve ser executada.
displayName
cadeia de caracteres.
nome legível para a tarefa.
env
dicionário de cadeias de caracteres.
variáveis a serem mapeadas para o ambiente do processo.
name
cadeia de caracteres.
ID da etapa. Valores aceitáveis: [-_A-Za-z0-9]*.
timeoutInMinutes
cadeia de caracteres.
hora de aguardar a conclusão dessa tarefa antes que o servidor a mate.
Nota
Os pipelines podem ser configurados com um tempo limite de nível de trabalho. Se o intervalo de tempo limite do nível do trabalho se esgotar antes da conclusão da etapa, o trabalho em execução (incluindo a etapa) será encerrado, mesmo que a etapa esteja configurada com um intervalo de timeoutInMinutes
mais longo. Para obter mais informações, consulte Timeouts.
retryCountOnTaskFailure
cadeia de caracteres.
Número de repetições se a tarefa falhar.
Observações
- de busca superficial
- de propriedade Clean
- marcas de sincronização
Busca superficial
Nota
Em algumas organizações, novos pipelines criados após o atualização do Azure DevOps sprint 209 de setembro de 2022 têm de busca superficial habilitadas por padrão e configuradas com uma profundidade de 1. Anteriormente, o padrão não era buscar superficialmente.
Para verificar o pipeline, exiba a configuração de de busca superficial na interface do usuário das configurações de pipeline .
Para desabilitar a busca superficial, você pode executar uma das duas opções a seguir.
- Desabilite a opção de busca superficial no de configurações de pipeline de.
- Defina explicitamente
fetchDepth: 0
na etapacheckout
.
Para configurar a profundidade de busca para um pipeline, você pode definir a propriedade fetchDepth
na etapa checkout
ou definir a configuração de de busca do Shallow na interface do usuário das configurações de pipeline .
Nota
Se você definir explicitamente fetchDepth
na etapa checkout
, essa configuração tem prioridade sobre a configuração definida na interface do usuário das configurações do pipeline. A configuração fetchDepth: 0
busca todo o histórico e substitui a configuração de busca superficial.
Propriedade Clean
Se a propriedade clean
não for definida, seu valor padrão será configurado pela configuração de limpa nas configurações da interface do usuário para pipelines YAML, que é definida como true por padrão. Além da opção de limpeza disponível usando checkout
, você também pode configurar a limpeza em um workspace. Para obter mais informações sobre workspaces e opções limpas, consulte o tópico do workspace no trabalhos do.
Marcas de sincronização
A etapa de check-out usa a opção --tags
ao buscar o conteúdo de um repositório Git. Isso faz com que o servidor busque todas as marcas, bem como todos os objetos apontados por essas marcas. Isso aumenta o tempo para executar a tarefa em um pipeline, especialmente se você tiver um repositório grande com várias marcas. Além disso, a etapa de check-out sincroniza marcas mesmo quando você habilita a opção de busca superficial, possivelmente derrotando sua finalidade. Para reduzir a quantidade de dados buscados ou extraídos de um repositório Git, a Microsoft adicionou uma nova opção para fazer check-out para controlar o comportamento das marcas de sincronização. Essa opção está disponível em pipelines clássicos e YAML.
Se é necessário sincronizar marcas ao fazer check-out de um repositório pode ser configurado no YAML definindo a propriedade fetchTags
e na interface do usuário configurando as marcas de sincronização configuração.
Para definir a configuração no YAML, defina a propriedade fetchTags
.
steps:
- checkout: self
fetchTags: true
Para definir a configuração na interface do usuário do pipeline, edite seu pipeline YAML e escolha Mais ações, Gatilhos, YAML, Obter fontese marque ou desmarque as marcas de Sincronização caixa de seleção. Para obter mais informações, consulte Marcas de sincronização.
Comportamento padrão
- Para pipelines existentes criados antes do lançamento do Azure DevOps sprint 209, lançado em setembro de 2022, o padrão para sincronizar marcas permanece o mesmo que o comportamento existente antes que as marcas de Sincronização opções sejam adicionadas, o que é
true
. - Para novos pipelines criados após a versão de sprint do Azure DevOps 209, o padrão para sincronizar marcas é
false
.
Importante
Uma Sincronização marca configuração de true na interface do usuário tem precedência sobre uma instrução fetchTags: false
no YAML. Se marcas de sincronização for definida como true na interface do usuário, as marcas serão sincronizadas mesmo que fetchTags
esteja definida como false no YAML.
Exemplos
Há três opções para checkout
. Por padrão, o Azure DevOps verifica o repositório atual com self
para trabalhos. Quando você define none
, nenhum repositório é verificado. Se você especificar outro repositório, esse repositório será verificado. Para conferir um repositório diferente, configure-o como um recurso de repositório primeiro.
# Checkout the current repository
steps:
- checkout: self
# Prevent checking out any source code
steps:
- checkout: none
# Checkout a different repository
steps:
- checkout: my-other-repo
Para evitar sincronizar fontes:
steps:
- checkout: none
Nota
Se você estiver executando o agente na conta de Serviço Local e quiser modificar o repositório atual usando operações git ou carregando submódulos git, forneça as permissões adequadas para o usuário de Contas de Serviço de Build de Coleção de Projetos.
- checkout: self
submodules: true
persistCredentials: true
Para fazer check-out de vários repositórios em seu pipeline, use várias etapas de checkout
:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Para obter mais informações, consulte Confira vários repositórios em seu pipeline.