definição steps.checkout
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: 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.
Definições que fazem referência a essa 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ório ou recurso de repositório. Para obter informações, confira Fazer check-out de vários repositórios no pipeline.
Observação
Se nenhuma checkout
etapa estiver presente, o padrão self
será para jobs.job.step.checkout
e none
para jobs.deployment.steps.checkout
.
checkout
String. Obrigatório como primeira propriedade.
Se deve ou não marcar o repositório que contém essa definição de pipeline. Especifique self
ou none
.
clean
String.
Se for true, execute git limpo -ffdx seguido por git reset --hard HEAD antes de buscar. true | False.
fetchDepth
String.
Profundidade do grafo do Git a ser buscada.
fetchTags
String.
Defina como 'true' para sincronizar marcas ao buscar o repositório ou 'false' para não sincronizar marcas. Confira os comentários sobre o comportamento padrão.
lfs
String.
Defina como 'true' para baixar arquivos 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).
condition
String.
Avalie essa expressão de condição para determinar se essa tarefa deve ser executada.
continueOnError
booliano.
Continuar em execução mesmo em caso de falha?
displayName
String.
Nome legível para a tarefa.
target
destino.
Ambiente no qual executar essa tarefa.
enabled
booliano.
Executar essa tarefa quando o trabalho for executado?
env
dicionário de cadeia de caracteres.
Variáveis a serem mapeadas para o ambiente do processo.
name
String.
ID da etapa. Valores aceitáveis: [-_A-Za-z0-9]*.
timeoutInMinutes
String.
Tempo de espera para que essa 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 mais longo timeoutInMinutes
. Para obter mais informações, consulte Tempos limite.
retryCountOnTaskFailure
String.
Número de novas tentativas se a tarefa falhar.
Comentários
Fetch superficial
Importante
Novos pipelines criados após a atualização do Azure DevOps sprint 209 de setembro de 2022 têm o fetch superficial habilitado por padrão e configurado com uma profundidade de 1. Anteriormente, o padrão não era efetuar fetch superficialmente. Para marcar seu pipeline, exiba a configuração busca superficial na interface do usuário das configurações do pipeline.
Para desabilitar a busca superficial, você pode executar uma das duas opções a seguir.
- Desabilite a opção Busca superficial na interface do usuário de configurações do pipeline.
- Definir explicitamente
fetchDepth: 0
em suacheckout
etapa.
Para configurar a profundidade de busca para um pipeline, você pode definir a fetchDepth
propriedade na checkout
etapa ou definir a configuração de busca superficial na interface do usuário das configurações do pipeline.
Observação
Se você definir fetchDepth
explicitamente em sua etapa checkout
, essa configuração terá prioridade sobre a configuração definida na interface do usuário das configurações do pipeline. A configuração de fetchDepth: 0
efetua fetch de todo o histórico e substitui a configuração Fetch superficial.
Propriedade Clean
Se a clean
propriedade não for definida, seu valor padrão será configurado pela configuração limpo nas configurações da interface do usuário para pipelines YAML, que é definido 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 de limpo, consulte o tópico do workspace em Trabalhos.
Sincronizar tags
A etapa de check-out usa a opção --tags
ao efetuar fetch do conteúdo de um repositório Git. Isso faz com que o servidor efetue fetch de 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 check-out sincroniza tags mesmo quando você habilita a opção de fetch superficial, anulando a utilidade dela. Para reduzir a quantidade de dados buscados ou extraídos de um repositório Git, a Microsoft adicionou uma nova opção de check-out para controlar o comportamento das tags de sincronização. Essa opção está disponível em pipelines clássicos e YAML.
Se as tags devem ou não ser sincronizadas ao fazer check-out de um repositório é algo que pode ser configurado no YAML pela definição da propriedade fetchTags
e na interface do usuário pela configuração Sincronizar tags.
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 fontes e marcar ou desmarque a caixa de seleção Sincronizar marcas. Para obter mais informações, consulte Sincronizar marcas.
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 da adição das opções Sincronizar tags, que é
true
. - Para novos pipelines criados após a versão 209 do Azure DevOps sprint, o padrão para sincronizar tags é
false
.
Importante
Uma configuração sincronizar marcas de true na interface do usuário tem precedência sobre uma fetchTags: false
instrução no YAML. Se As marcas de sincronização estiverem definidas como true na interface do usuário, as marcas serão sincronizadas mesmo se fetchTags
estiver definido como false no YAML.
Exemplos
Para evitar sincronizar fontes:
steps:
- checkout: none
Observação
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 do Project Collection.
- checkout: self
submodules: true
persistCredentials: true
Para fazer check-out de vários repositórios no 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, confira Fazer check-out de vários repositórios no pipeline.