Поделиться через


ContainerStructureTest@0 — задача тестирования структуры контейнеров версии 0

Использует тест структуры контейнера (https://github.com/GoogleContainerTools/container-structure-test) для проверки структуры образа на основе четырех категорий тестов — тестов команд, тестов существования файлов, тестов содержимого файлов и тестов метаданных.

Синтаксис

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

Входные данные

dockerRegistryServiceConnection - подключение службы реестра Docker
string. Обязательное.

Укажите подключение службы реестра Docker. Требуется для команд, которые должны пройти проверку подлинности в реестре.


repository - репозиторий контейнеров
string. Обязательное.

Имя репозитория.


тегов
string. Значение по умолчанию: $(Build.BuildId).

Тег используется при извлечении образа из подключения службы реестра Docker.


пути к файлу конфигурации configFile -
string. Обязательное.

Путь к файлу конфигурации, содержащий тесты структуры контейнера, в формате YAML или .json файлов.


testRunTitle - заголовок запуска теста
string.

Укажите имя тестового запуска.


failTaskOnFailedTests - сбой задачи при наличии тестовых сбоев
boolean. Значение по умолчанию: false.

Завершается сбоем задачи, если возникают сбои теста. Проверьте этот параметр, чтобы завершить задачу ошибкой, если обнаружены тестовые сбои.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Нет.

Замечания

Эта задача помогает выполнять тесты структуры контейнеров и публиковать результаты теста в Azure Pipelines и предоставляет комплексные отчеты о тестах и аналитические возможности.

Примечание.

Это функция ранней предварительной версии. Дополнительные предстоящие функции будут развернуты в предстоящих спринтах.

Тесты структуры контейнеров предоставляют мощную платформу для проверки структуры образа контейнера. Эти тесты можно использовать для проверки выходных данных команд на изображении, а также проверки метаданных и содержимого файловой системы. Тесты можно выполнять либо через автономный двоичный файл, либо через образ Docker.

Тесты в этой платформе задаются с помощью файла конфигурации YAML или JSON. В одном тестовом запуске может быть указано несколько файлов конфигурации. Файл конфигурации будет загружен в средство выполнения теста, которое будет выполнять тесты в порядке. В этом файле конфигурации можно записать четыре типа тестов:

  • Командные тесты (тестирование выходных данных или ошибок определенной команды, выданной)
  • Тесты существования файлов (убедитесь, что файл находится или отсутствует в файловой системе образа)
  • Тесты содержимого файла (убедитесь, что файлы в файловой системе образа содержат или не содержат определенное содержимое)
  • Тест метаданных, сингулярный (убедитесь, что определенные метаданные контейнера правильные)

Сборка, тестирование и публикация теста

Задача тестирования структуры контейнеров может быть добавлена в классический конвейер, а также в унифицированном конвейере (многоэтапном) & конвейерах на основе YAML.

В новом едином конвейере на основе YAML можно найти задачу в окне.

тестирование контейнеров в единого конвейера

После добавления задачи необходимо задать путь к файлу конфигурации, подключение службы registory docker, репозиторий контейнеров и тег при необходимости. Создаются входные данные задач в конвейере на основе yaml.

Тестирование контейнеров в конвейере на основе YAML

Файл YAML

YAML-файл

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

Просмотр тестового отчета

После выполнения задачи можно перейти непосредственно на тестовую вкладку, чтобы просмотреть полный отчет. Опубликованные результаты теста отображаются на вкладке "Тесты " в сводке конвейера и помогают измерять качество конвейера, проверять трассировку, устранять ошибки и владение сбоем диска.

страница тестовой отчетности

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.144.0 или более поздней версии
Категория задач Тест
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.0.0 или более поздней версии
Категория задач Тест