Freigeben über


ContainerStructureTest@0 – Aufgabe "Containerstrukturtest v0"

Verwendet containerstrukturtest (https://github.com/GoogleContainerTools/container-structure-test) zum Überprüfen der Struktur eines Images basierend auf vier Testkategorien – Befehlstests, Dateiexistenztests, Dateiinhaltstests und Metadatentests.

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.

Eingänge

dockerRegistryServiceConnection - Docker-Registrierungsdienstverbindung
string. Erforderlich.

Geben Sie eine Docker-Registrierungsdienstverbindung an. Erforderlich für Befehle, die sich bei einer Registrierung authentifizieren müssen.


repository - Container-Repository
string. Erforderlich.

Der Name des Repositorys.


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

Das Tag wird verwendet, um das Image aus der Docker-Registrierungsdienstverbindung abzurufen.


configFile - Konfigurationsdateipfad
string. Erforderlich.

Der Konfigurationsdateipfad, der Containerstrukturtests enthält, entweder in YAML- oder .json Dateiformaten.


testRunTitle - Titel der Testausführung
string.

Geben Sie einen Namen für die Testausführung an.


failTaskOnFailedTests - Fehleraufgabe, wenn testfehler
boolean. Standardwert: false.

Schlägt die Aufgabe fehl, wenn Testfehler auftreten. Aktivieren Sie diese Option, um die Aufgabe fehlzuschlagen, wenn Testfehler erkannt werden.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Ausgabevariablen

Keiner.

Bemerkungen

Diese Aufgabe hilft Ihnen beim Ausführen von Containerstrukturtests und beim Veröffentlichen von Testergebnissen in Azure Pipelines und bietet eine umfassende Testberichterstattung und Analyseerfahrung.

Hinweis

Dies ist ein Frühvorschaufeature. Weitere bevorstehende Features werden in bevorstehenden Sprints eingeführt.

Die Containerstrukturtests bieten ein leistungsfähiges Framework zum Überprüfen der Struktur eines Containerimages. Diese Tests können verwendet werden, um die Ausgabe von Befehlen in einem Bild zu überprüfen sowie Metadaten und Inhalte des Dateisystems zu überprüfen. Tests können entweder über eine eigenständige Binärdatei oder über ein Docker-Image ausgeführt werden.

Tests innerhalb dieses Frameworks werden über eine YAML- oder JSON-Konfigurationsdatei angegeben. Mehrere Konfigurationsdateien können in einer einzigen Testausführung angegeben werden. Die Konfigurationsdatei wird vom Testläufer geladen, der die Tests in der Reihenfolge ausführt. In dieser Konfigurationsdatei können vier Arten von Tests geschrieben werden:

  • Befehlstests (Ausgabe/Fehler eines bestimmten ausgegebenen Befehls)
  • Dateiexistenztests (sicherstellen, dass eine Datei im Dateisystem des Bilds vorhanden ist oder nicht vorhanden ist)
  • Dateiinhaltstests (sicherstellen, dass Dateien im Dateisystem des Bilds bestimmte Inhalte enthalten oder nicht enthalten)
  • Metadatentest, Singular (sicherstellen, dass bestimmte Containermetadaten korrekt sind)

Build-, Test- und Veröffentlichungstest

Der Containerstrukturtestvorgang kann sowohl in der klassischen Pipeline als auch in einheitlichen Pipelines (mehrstufigen) & YAML-basierten Pipelines hinzugefügt werden.

In der neuen einheitlichen YAML-Pipeline können Sie im Fenster nach Aufgaben suchen.

Containertest in Unified Pipeline-

Nachdem die Aufgabe hinzugefügt wurde, müssen Sie bei Bedarf den Konfigurationsdateipfad, die Docker registory-Dienstverbindung, das Container-Repository und das Tag festlegen. Die Aufgabeneingabe in der yaml-basierten Pipeline wird erstellt.

Containertest in YAML-basierten Pipeline-

YAML-Datei

YAML-Datei

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

Testbericht anzeigen

Nachdem die Aufgabe ausgeführt wurde, können Sie direkt zur Registerkarte "Test" wechseln, um den vollständigen Bericht anzuzeigen. Die veröffentlichten Testergebnisse werden auf der Registerkarte Tests in der Pipelinezusammenfassung angezeigt und helfen Ihnen, die Pipelinequalität zu messen, die Rückverfolgbarkeit zu überprüfen, Fehler zu beheben und den Besitz von Laufwerksfehlern zu beheben.

Seite

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 2.144.0 oder höher
Vorgangskategorie Testen
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 2.0.0 oder höher
Vorgangskategorie Testen