Udostępnij za pośrednictwem


ContainerStructureTest@0 — zadanie Test struktury kontenera w wersji 0

Używa kontenera-structure-test (https://github.com/GoogleContainerTools/container-structure-test) do weryfikacji struktury obrazu na podstawie czterech kategorii testów — testów poleceń, testów istnienia plików, testów zawartości plików i testów metadanych.

Składnia

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

Dane wejściowe

dockerRegistryServiceConnection - Połączenie usługi rejestru platformy Docker
string. Wymagane.

Określ połączenie usługi rejestru platformy Docker. Wymagane w przypadku poleceń, które muszą być uwierzytelniane w rejestrze.


repository - Repozytorium kontenerów
string. Wymagane.

Nazwa repozytorium.


tag - Tag
string. Wartość domyślna: $(Build.BuildId).

Tag jest używany w ściąganiu obrazu z połączenia usługi rejestru platformy Docker.


configFile - Ścieżka pliku konfiguracji
string. Wymagane.

Ścieżka pliku konfiguracji zawierająca testy struktury kontenerów w formatach plików yaml lub json.


testRunTitle - Tytuł przebiegu testu
string.

Określ nazwę przebiegu testu.


failTaskOnFailedTests - Zadanie kończy się niepowodzeniem, jeśli występują błędy testów
boolean. Wartość domyślna: false.

Zadanie kończy się niepowodzeniem, jeśli występują jakiekolwiek błędy testów. Sprawdź tę opcję, aby nie wykonać zadania, jeśli wykryto błędy testów.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

Brak.

Uwagi

To zadanie ułatwia uruchamianie testów struktury kontenerów i publikowanie wyników testów w usłudze Azure Pipelines oraz zapewnia kompleksowe środowisko raportowania testów i analizy.

Uwaga

Jest to funkcja wczesnej wersji zapoznawczej. Kolejne nadchodzące funkcje zostaną wdrożone w nadchodzących sprintach.

Testy struktury kontenerów zapewniają zaawansowaną platformę do weryfikowania struktury obrazu kontenera. Te testy mogą służyć do sprawdzania danych wyjściowych poleceń na obrazie, a także weryfikowania metadanych i zawartości systemu plików. Testy można uruchamiać za pośrednictwem autonomicznego pliku binarnego lub obrazu platformy Docker.

Testy w tej strukturze są określane za pomocą pliku konfiguracji YAML lub JSON. W jednym przebiegu testu można określić wiele plików konfiguracji. Plik konfiguracji zostanie załadowany przez moduł uruchamiający testy, który wykona testy w kolejności. W tym pliku konfiguracji można napisać cztery typy testów:

  • Testy poleceń (testowanie danych wyjściowych/błędów określonego wydanego polecenia)
  • Testy istnienia plików (upewniając się, że plik jest lub nie znajduje się w systemie plików obrazu)
  • Testy zawartości pliku (upewniając się, że pliki w systemie plików obrazu zawierają lub nie zawierają określonej zawartości)
  • Test metadanych, pojedynczy (upewniając się, że niektóre metadane kontenera są poprawne)

Kompilowanie, testowanie i publikowanie testu

Zadanie testowe struktury kontenera można dodać w potoku klasycznym, a także w potokach opartych na ujednoliconym potoku (wieloetapowym) & opartych na języku YAML.

W nowym ujednoliconym potoku opartym na języku YAML możesz wyszukać zadanie w oknie.

Test kontenera w ujednoliconym potoku

Po dodaniu zadania należy ustawić ścieżkę pliku konfiguracji, połączenie usługi rejestru platformy Docker, repozytorium kontenerów i tag, jeśli jest to wymagane. Dane wejściowe zadania w potoku opartym na yaml są tworzone.

Test kontenera w potoku opartym na języku YAML

Plik YAML

Plik YAML

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

Wyświetlanie raportu testowego

Po wykonaniu zadania możesz przejść bezpośrednio do karty testowej, aby wyświetlić pełny raport. Opublikowane wyniki testów są wyświetlane na karcie Testy w podsumowaniu potoku i ułatwiają mierzenie jakości potoku, przeglądanie możliwości śledzenia, rozwiązywanie problemów z awariami i własność awarii dysku.

Strona raportowania testów

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.144.0 lub nowsza
Kategoria zadania Testowanie
Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.0.0 lub nowsze
Kategoria zadania Testowanie