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