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.
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.
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.
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 |