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


ContainerStructureTest@0 . Задача "Тестирование структуры контейнера" версии 0

Использует container-structure-test (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. Обязательный.

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


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

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


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

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


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

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


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

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


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

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

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

Нет.

Remarks

Эта задача помогает выполнять тесты структуры контейнера и публиковать результаты тестов в 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
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Тест
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.0.0 или более поздней версии
Категория задач Тест