Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use checkout para configurar como o pipeline faz check-out do 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.
Definições que fazem referência a esta definição: etapas
Propriedades
checkout string. Obrigatório como primeira propriedade.
Configura o check-out para o repositório especificado. Especifique self, none, nome do repositórioou recurso do repositório. Para obter mais informações, consulte Confira vários repositórios em seu pipeline.
Observação
Se nenhuma etapa checkout estiver presente, o padrão será self para jobs.job.step.checkout e none para jobs.deployment.steps.checkout.
clean string.
Se verdadeiro, execute o git clean -ffdx seguido pelo git reset --hard HEAD antes de buscar. verdadeiro | falso.
fetchDepth string.
Profundidade do gráfico Git para buscar.
fetchFilter string.
Use fetchFilter para filtrar o histórico do Git para clonagem parcial. A configuração fetchFilter suporta buscas sem árvores e sem blob. Para uma busca sem árvore, especifique fetchFilter: tree:0 e, para especificar uma busca sem blob, especifique fetchFilter: blob:none. O padrão é sem filtragem.
fetchTags string.
Defina como 'true' para sincronizar tags ao buscar o repo, ou 'false' para não sincronizar tags. Consulte comentários para o comportamento padrão.
lfs string.
Defina como 'true' para descarregar ficheiros Git-LFS. O padrão não é baixá-los.
persistCredentials string.
Defina 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 string.
Defina como 'true' para um único nível de submódulos ou 'recursivo' para obter submódulos de submódulos. O padrão é não buscar submódulos.
path string.
Onde colocar o repositório. O diretório raiz é $(Pipeline.Workspace). Por padrão, essa pasta deve estar sob a estrutura de diretórios 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 checkout. Suportado na versão 3.230.0 e superior do agente.
sparseCheckoutDirectories string.
Especifique 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. Suportado na versão do agente 3.253.0/4.253.0 e superior com Git 2.25 ou superior.
- checkout: repo
sparseCheckoutDirectories: src
Se ambos os sparseCheckoutDirectories e sparseCheckoutPatterns estiverem definidos, sparseCheckoutDirectories será usado e a configuração para sparseCheckoutPatterns será desconsiderada.
Para obter mais informações sobre checkout esparso, consulte Reduza seu monorepo ao tamanho comde checkout esparso.
sparseCheckoutPatterns string.
Especifique um padrão para habilitar o check-out esparso no modo sem cone usando a correspondência de padrões. Separe vários padrões usando um espaço. Suportado na versão do agente 3.253.0/4.253.0 e superior com Git 2.25 ou superior.
- checkout: repo
sparseCheckoutPatterns: /* !/img
Se ambos os sparseCheckoutDirectories e sparseCheckoutPatterns estiverem definidos, sparseCheckoutDirectories será usado e a configuração para sparseCheckoutPatterns será desconsiderada.
Para obter mais informações sobre checkout esparso, consulte Reduza seu monorepo ao tamanho comde checkout esparso.
workspaceRepo string.
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 string.
Avalie essa expressão de condição para determinar se essa tarefa deve ser executada.
continueOnError
booleano.
Continuar a correr mesmo em caso de falha?
displayName string.
Nome legível por humanos para a tarefa.
target
alvo.
Ambiente no qual executar esta tarefa.
enabled
booleano.
Executar esta tarefa quando o trabalho é executado?
env dicionário de cordas.
Variáveis a serem mapeadas no ambiente do processo.
name string.
ID da etapa. Valores aceitáveis: [-_A-Za-z0-9]*.
timeoutInMinutes string.
Tempo para esperar que esta tarefa seja concluída antes que o servidor a mate.
Observação
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 decorrer 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 maior. Para obter mais informações, consulte Tempos limite.
retryCountOnTaskFailure string.
Número de novas tentativas se a tarefa falhar.
Comentários
Busca rasa
Observação
Em algumas organizações, os novos pipelines criados após a atualização do sprint 209 do Azure DevOps de de setembro de 2022 ter busca superficial habilitados por padrão e configurados com uma profundidade de 1. Anteriormente, o padrão era não buscar superficialmente.
Para verificar seu pipeline, exiba a configuração de busca superficial na interface do usuário de configurações de pipeline .
Para desativar a busca superficial, você pode executar uma das duas opções a seguir.
- Desative a opção de busca superficial na interface do usuário de configurações de pipeline .
- Defina explicitamente
fetchDepth: 0no seucheckoutpasso.
Para configurar a profundidade de busca para um pipeline, você pode definir a propriedade fetchDepth na etapa checkout ou configurar a configuração de busca superficial na interface do usuário de configurações de pipeline .
Observação
Se você definir explicitamente fetchDepth na etapa checkout, essa configuração terá prioridade sobre a configuração definida na interface do usuário de configurações de pipeline. A configuração fetchDepth: 0 busca todo o histórico e substitui a configuração de busca superficial.
Propriedade limpa
Se a propriedade clean estiver desdefinida, seu valor padrão será configurado pela configuração limpo 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 espaço de trabalho. Para obter mais informações sobre espaços de trabalho e opções de limpeza, consulte o tópico espaço de trabalho em Jobs.
Sincronizar tags
A etapa de checkout usa a opção --tags ao buscar o conteúdo de um repositório Git. Isso faz com que o servidor busque todas as tags, bem como todos os objetos apontados por essas tags. Isso aumenta o tempo para executar a tarefa em um pipeline, especialmente se você tiver um repositório grande com várias tags. Além disso, a etapa de checkout sincroniza as tags mesmo quando você ativa a opção de busca superficial, possivelmente derrotando seu propósito. Para reduzir a quantidade de dados buscados ou extraídos de um repositório Git, a Microsoft adicionou uma nova opção de checkout para controlar o comportamento de sincronização de tags. Esta opção está disponível em pipelines clássicos e YAML.
Para configurar se deseja sincronizar tags ao fazer check-out de um repositório, você pode definir a fetchTags propriedade na checkout etapa ou definir a configuração Sincronizar tags na interface do usuário de configurações do pipeline.
Observação
Se você definir fetchTags explicitamente em sua checkout etapa, essa configuração terá prioridade sobre a configuração Sincronizar marcas configurada na interface do usuário de configurações de pipeline.
Para definir a configuração em 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, Triggers, YAML, Obter fontese marque ou desmarque a caixa de seleção Sincronizar marcações. Para obter mais informações, consulte Sincronizar tags.
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 tags permanece o mesmo que o comportamento existente antes da adição das opções de de tags Sync, que é
true. - Para novos pipelines criados após a versão 209 do sprint do Azure DevOps, o padrão para sincronizar marcas é
false.
Exemplos
Existem 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 é submetido a check-out. Se você especificar outro repositório, será feito check-out desse repositório. Para fazer check-out de 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 a sincronização de fontes:
steps:
- checkout: none
Observação
Se você estiver executando o agente na conta Serviço Local e quiser modificar o repositório atual usando operações git ou carregando submódulos git, conceda as permissões adequadas ao usuário Contas de Serviço de Compilação 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 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.