Teilen über


ContainerStructureTest@0 – Aufgabe "Containerstrukturtest v0"

Verwendet container-structure-test (https://github.com/GoogleContainerTools/container-structure-test), um die Struktur eines Images basierend auf vier Testkategorien zu überprüfen: 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.

Eingaben

dockerRegistryServiceConnection - Docker-Registrierungsdienstverbindung
string. Erforderlich.

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


repository - Containerrepository
string. Erforderlich.

Der Name des Repositorys.


tag - Etikett
string. Standardwert. $(Build.BuildId).

Das Tag wird verwendet, um das Image aus einer 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 bei Testfehlern
boolean. Standardwert. false.

Schlägt die Aufgabe fehl, wenn Testfehler auftreten. Aktivieren Sie diese Option, um die Aufgabe als fehlerhaft zu markieren, wenn Testfehler erkannt werden.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Diese Aufgabe unterstützt Sie beim Ausführen von Tests für die Containerstruktur sowie beim Veröffentlichen von Testergebnissen in Azure Pipelines und bietet umfassende Testberichte und Analysen.

Hinweis

Dies ist eine frühe Previewfunktion. Weitere anstehende Features werden in den kommenden Sprints eingeführt.

Die Tests für die Containerstruktur bieten ein leistungsfähiges Framework für die Überprüfung der Struktur eines Containerimages. Diese Tests können verwendet werden, um die Ausgabe von Befehlen in einem Image zu überprüfen sowie Metadaten und Inhalte des Dateisystems zu verifizieren. 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. In einem einzelnen Testlauf können mehrere Konfigurationsdateien angegeben werden. Die Konfigurationsdatei wird vom Test Runner geladen, und die Tests werden von ihm in der angegebenen Reihenfolge ausgeführt. In dieser Konfigurationsdatei können vier Arten von Tests geschrieben werden:

  • Befehlstests (zum Testen der Ausgabe bzw. von Fehlern eines spezifischen ausgegebenen Befehls)
  • Tests zum Überprüfen des Vorhandenseins von Dateien (um sicherzustellen, dass eine Datei im Dateisystem des Images vorhanden ist bzw. nicht vorhanden ist)
  • Dateiinhaltstests (um sicherzustellen, dass Dateien im Dateisystem des Images bestimmte Inhalte enthalten bzw. nicht enthalten)
  • Metadatentests, einzeln (um sicherzustellen, dass bestimmte Containermetadaten korrekt sind)

Erstellen, Testen und Veröffentlichen des Tests

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

In der neuen YAML-basierten vereinheitlichten Pipeline können Sie im Fenster nach einer Aufgabe suchen.

Containertest in vereinheitlichter Pipeline

Nachdem die Aufgabe hinzugefügt wurde, müssen Sie den Konfigurationsdateipfad, die Dienstverbindung für die Docker-Registrierung, das Containerrepository und das Tag festlegen (falls erforderlich). Die Aufgabeneingabe in der YAML-basierten Pipeline wird erstellt.

Containertest in YAML-basierter 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

Anzeigen des Testberichts

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 dabei, die Pipelinequalität zu messen, die Nachverfolgbarkeit zu überprüfen, Fehler zu behandeln und die Verantwortlichkeit für Fehler zu fördern.

Seite mit dem Testbericht

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.144.0 oder höher
Aufgabenkategorie Test
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.0.0 oder höher
Aufgabenkategorie Testen