Compartilhar via


tarefa ContainerStructureTest@0 – Teste de Estrutura de Contêiner v0

Usa 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 comando, testes de existência de arquivos, testes de conteúdo de arquivo 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 - Conexão de serviço do Registro do Docker
string. Obrigatórios.

Especifique uma conexão de serviço do Registro do Docker. Obrigatório para comandos que precisam ser autenticados com um registro.


repository - Repositório de contêineres
string. Obrigatórios.

O nome do repositório.


tag - Tag
string. Valor padrão: $(Build.BuildId).

A marca é usada para extrair a imagem da conexão de serviço do Registro do Docker.


configFile - Caminho do arquivo de configuração
string. Obrigatórios.

O caminho do arquivo de configuração que contém testes de estrutura de contêiner, seja em formatos de arquivo .yaml ou .json.


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

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


failTaskOnFailedTests - Falha na tarefa se houver falhas de teste
boolean. Valor padrão: false.

Falha na tarefa se houver falhas de teste. Marque essa opção para causar falhar na tarefa se forem detectadas falhas de teste.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

Essa tarefa ajuda você a executar testes de estrutura de contêiner e publicar resultados de teste no Azure Pipelines e proporciona uma experiência abrangente de análise e relatórios de teste.

Observação

Esse é um recurso de visualização antecipada. Mais recursos futuros serão lançados nos próximos sprints.

Os Testes de Estrutura de Contêiner fornecem uma estrutura eficiente para validar a estrutura de uma imagem de contêiner. Esses testes podem ser usados para marcar a saída de comandos em uma imagem, bem como verificar metadados e conteúdo do sistema de arquivos. Os testes podem ser executados por meio de um binário autônomo ou por meio de uma imagem do Docker.

Os testes nessa estrutura são especificados por meio de um arquivo de configuração YAML ou JSON. Vários arquivos de configuração podem ser especificados em uma só execução de teste. O arquivo de configuração será carregado pelo executor de teste, que executará os testes na ordem. Nesse arquivo de configuração, quatro tipos de testes podem ser gravados:

  • Testes de comando (testando saída/erro de um comando específico emitido)
  • Testes de Existência de Arquivos (certificando-se de que um arquivo esteja ou não está presente no sistema de arquivos da imagem)
  • Testes de conteúdo de arquivo (verificando se os arquivos no sistema de arquivos da imagem contêm ou não conteúdo específico)
  • Teste de metadados, singular (garantindo que determinados metadados de contêiner estão corretos)

Teste de compilação, teste e publicação

A tarefa de teste de estrutura de contêiner pode ser adicionada no pipeline clássico, bem como em pipeline unificado (multi-estágio) & pipelines baseados em YAML.

No novo pipeline unificado baseado em YAML, você pode pesquisar a tarefa na janela.

Teste de contêiner no pipeline unificado

Depois que a tarefa for adicionada, você precisará definir o caminho do arquivo de configuração, a conexão de serviço Registro do Docker, o repositório de contêiner e a marca, se necessário. A entrada da tarefa no pipeline baseado em yaml é criada.

Teste de contêiner no pipeline baseado em YAML

Arquivo YAML

Arquivo YAML

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

Exibir relatório do teste

Depois que a tarefa for executada, você poderá ir diretamente para a guia de teste para exibir o relatório completo. Os resultados de teste publicados são exibidos na guia Testes no resumo do pipeline e ajudam você a medir a qualidade do pipeline, examinar a rastreabilidade, solucionar problemas de falhas e gerar a propriedade da falha.

Página de relatório de teste

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Teste
Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Teste