Partilhar via


ContainerStructureTest@0 – Tarefa V0 do Container Structure Test

Utiliza o container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) para validar a estrutura de uma imagem com base em quatro categorias de testes – testes de comandos, testes de existência de ficheiros, testes de conteúdo de ficheiros e testes de metadados.

Syntax

# Container Structure Test v0
# Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
- task: ContainerStructureTest@0
  inputs:
  # Container Repository
    dockerRegistryServiceConnection: # string. Required. Docker registry service connection. 
    repository: # string. Required. Container repository. 
    #tag: '$(Build.BuildId)' # string. Tag. Default: $(Build.BuildId).
    configFile: # string. Required. Config file path. 
    #testRunTitle: # string. Test run title. 
    #failTaskOnFailedTests: false # boolean. Fail task if there are test failures. Default: false.

Entradas

dockerRegistryServiceConnection - Ligação do serviço de registo do Docker
string. Obrigatório.

Especifique uma ligação do serviço de registo do Docker. Necessário para comandos que precisam de ser autenticados com um registo.


repository - Repositório de contentor
string. Obrigatório.

O nome do repositório.


tag - Etiqueta
string. Valor predefinido: $(Build.BuildId).

A etiqueta é utilizada para extrair a imagem da ligação do serviço de registo do Docker.


configFile - Caminho do ficheiro de configuração
string. Obrigatório.

O caminho de ficheiro de configuração que contém testes de estrutura de contentor, quer em formatos de ficheiro .yaml ou .json.


testRunTitle - Título da execução de teste
string.

Especifique um nome para a Execução de Teste.


failTaskOnFailedTests - Tarefa de falha se existirem falhas de teste
boolean. Valor predefinido: false.

Falha na tarefa se existirem falhas de teste. Verifique esta opção para falhar a tarefa se forem detetadas falhas de teste.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Esta tarefa ajuda-o a executar testes de estrutura de contentores e a publicar resultados de teste nos Pipelines do Azure e fornece uma experiência de análise e relatórios de teste abrangente.

Nota

Esta é uma funcionalidade de pré-visualização antecipada. Serão lançadas mais funcionalidades futuras nos próximos sprints.

Os Testes de Estrutura de Contentor fornecem uma arquitetura avançada para validar a estrutura de uma imagem de contentor. Estes testes podem ser utilizados para verificar a saída dos comandos numa imagem, bem como verificar os metadados e o conteúdo do sistema de ficheiros. Os testes podem ser executados através de um binário autónomo ou através de uma imagem do Docker.

Os testes nesta arquitetura são especificados através de um ficheiro de configuração YAML ou JSON. Podem ser especificados vários ficheiros de configuração numa única execução de teste. O ficheiro de configuração será carregado pelo test runner, que irá executar os testes por ordem. Neste ficheiro de configuração, podem ser escritos quatro tipos de testes:

  • Testes de Comandos (teste de saída/erro de um comando específico emitido)
  • Testes de Existência de Ficheiros (certificando-se de que um ficheiro está, ou não, presente no sistema de ficheiros da imagem)
  • Testes de Conteúdo de Ficheiros (certificando-se de que os ficheiros no sistema de ficheiros da imagem contêm ou não contêm conteúdos específicos)
  • Teste de Metadados, singular (certificando-se de que determinados metadados de contentor estão corretos)

Compilar, Testar e Publicar Teste

A tarefa de teste da estrutura de contentor pode ser adicionada no pipeline clássico, bem como em pipelines unificados (em várias fases) & pipelines baseados em YAML.

No novo pipeline unificado baseado em YAML, pode procurar tarefas na janela.

Teste de Contentor no Pipeline Unificado

Assim que a tarefa for adicionada, terá de definir o caminho do ficheiro de configuração, a ligação do serviço registory do Docker, o repositório de contentor e a etiqueta, se necessário. A entrada da tarefa no pipeline baseado em yaml é criada.

Teste de Contentor no Pipeline baseado em YAML

Ficheiro YAML

Ficheiro YAML

steps:
- task: ContainerStructureTest@0
  displayName: 'Container Structure Test '
  inputs:
    dockerRegistryServiceConnection: 'Container_dockerHub'
    repository: adma/hellodocker
    tag: v1
    configFile: /home/user/cstfiles/fileexisttest.yaml

Ver relatório de teste

Assim que a tarefa for executada, pode aceder diretamente ao separador de teste para ver o relatório completo. Os resultados dos testes publicados são apresentados no separador Testes no resumo do pipeline e ajudam-no a medir a qualidade do pipeline, rever a rastreabilidade, resolver problemas de falhas e impulsionar a propriedade da falha.

Página de Relatórios de Teste

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Teste
Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Teste