Share via


ContainerStructureTest@0 - Test van containerstructuur v0-taak

Maakt gebruik van container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) om de structuur van een installatiekopie te valideren op basis van vier testcategorieën: opdrachttests, bestandsbestaantests, bestandsinhoudstests en metagegevenstests.

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.

Invoerwaarden

dockerRegistryServiceConnection - Verbinding met docker-registerservice
string. Vereist.

Geef een Docker-registerserviceverbinding op. Vereist voor opdrachten die moeten worden geverifieerd met een register.


repository - Containeropslagplaats
string. Vereist.

De naam van de opslagplaats.


tag - Tag
string. Standaardwaarde: $(Build.BuildId).

De tag wordt gebruikt bij het ophalen van de installatiekopie uit de docker-registerserviceverbinding.


configFile - Pad naar configuratiebestand
string. Vereist.

Het pad naar het configuratiebestand dat containerstructuurtests bevat, in de bestandsindeling .yaml of .json.


testRunTitle - Titel van testuitvoering
string.

Geef een naam op voor de testuitvoering.


failTaskOnFailedTests - Mislukte taak als er testfouten zijn
boolean. Standaardwaarde: false.

Mislukt de taak als er testfouten zijn. Schakel deze optie in om de taak te mislukken als er testfouten worden gedetecteerd.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Deze taak helpt u bij het uitvoeren van containerstructuurtests en het publiceren van testresultaten in Azure Pipelines en biedt een uitgebreide ervaring voor testrapportage en analyse.

Notitie

Dit is een vroege preview-functie. In de komende sprints worden meer functies uitgerold.

De containerstructuurtests bieden een krachtig framework voor het valideren van de structuur van een containerinstallatiekopieën. Deze tests kunnen worden gebruikt om de uitvoer van opdrachten in een afbeelding te controleren en de metagegevens en inhoud van het bestandssysteem te verifiëren. Tests kunnen worden uitgevoerd via een zelfstandig binair bestand of via een Docker-installatiekopieën.

Tests binnen dit framework worden opgegeven via een YAML- of JSON-configuratiebestand. In één testuitvoering kunnen meerdere configuratiebestanden worden opgegeven. Het configuratiebestand wordt geladen door de testrunner, die de tests in volgorde uitvoert. In dit configuratiebestand kunnen vier soorten tests worden geschreven:

  • Opdrachttests (testuitvoer/fout van een specifieke opdracht die is uitgegeven)
  • Bestandstest (controleren of een bestand wel of niet aanwezig is in het bestandssysteem van de installatiekopie)
  • Bestandsinhoudstests (controleren of bestanden in het bestandssysteem van de afbeelding al dan niet specifieke inhoud bevatten)
  • Metagegevenstest, enkelvoud (controleren of bepaalde metagegevens van de container juist zijn)

Test bouwen, testen en publiceren

De containerstructuurtesttaak kan worden toegevoegd in de klassieke pijplijn en in geïntegreerde pijplijnen (multifasen) & YAML-pijplijnen.

In de nieuwe op YAML gebaseerde geïntegreerde pijplijn kunt u zoeken naar taken in het venster.

Containertest in Unified Pipeline

Zodra de taak is toegevoegd, moet u indien nodig het pad naar het configuratiebestand, de verbinding met de Docker-registory-service, de containeropslagplaats en de tag instellen. Taakinvoer in de yaml-pijplijn wordt gemaakt.

Containertest in op YAML gebaseerde pijplijn

YAML-bestand

YAML-bestand

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

Testrapport weergeven

Zodra de taak is uitgevoerd, kunt u rechtstreeks naar het tabblad Testen gaan om het volledige rapport weer te geven. De gepubliceerde testresultaten worden weergegeven op het tabblad Tests in het pijplijnoverzicht en helpen u bij het meten van de pijplijnkwaliteit, het controleren van de traceerbaarheid, het oplossen van fouten en het eigendom van rijfouten.

Rapportpagina testen

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.144.0 of hoger
Taakcategorie Testen
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.0.0 of hoger
Taakcategorie Testen