Spec-Zone.ru › Chef 16

Отчётчики Chef InSpec

[редактировать на GitHub]

Введено в Chef InSpec 1.51.6

Отчётчик — это средство для форматирования и предоставления результатов выполнения аудита Chef InSpec.

Chef InSpec позволяет выводить результаты ваших тестов одному или нескольким отчётчикам. Настройте отчётчик(и) с помощью опции --reporter или в файле конфигурации общего назначения с помощью опции --config (или --json-config, до версии 3.6). Хотя вы можете настроить несколько отчётчиков для записи в разные файлы, только один отчётчик может выводить на экран (stdout).

Синтаксис

Вы можете указать один или несколько отчётчиков, используя флаг командной строки --reporter. Вы также можете указать вывод, добавив путь, разделённый двоеточием.

Вывод json на экран.

inspec exec example_profile --reporter json
# or explicitly specifying output to STDOUT:
inspec exec example_profile --reporter json:-

Вывод yaml на экран

inspec exec example_profile --reporter yaml
# or
inspec exec example_profile --reporter yaml:-

Вывод cli на экран и запись json в файл.

inspec exec example_profile --reporter cli json:/tmp/output.json

Не выводить ничего на экран и записать junit и html в файл.

inspec exec example_profile --reporter junit2:/tmp/junit.xml html:www/index.html

Вывод json на экран и запись в файл. Запись junit в файл.

inspec exec example_profile --reporter json junit2:/tmp/junit.xml | tee out.json

Если вы хотите передать профили непосредственно после указания отчётчиков, вам необходимо использовать флаг завершения опций --.

inspec exec --reporter json junit2:/tmp/junit.xml -- profile1 profile2

Если вы используете опцию командной строки --config, вы также можете задать отчётчики.

Вывод cli на экран.

{
    "reporter": {
        "cli" : {
            "stdout" : true
        }
    }
}

Вывод cli на экран и запись json в файл.

{
    "reporter": {
        "cli" : {
            "stdout" : true
        },
        "json" : {
            "file" : "/tmp/output.json",
            "stdout" : false
        }
    }
}

Поддерживаемые отчётчики

Ниже приведены текущие поддерживаемые отчётчики:

cli

Это базовый текстовый отчёт. Он включает в себя подробности о пройденных и проваленных тестах и итоговый сводный отчёт в конце.

json

Этот отчётчик содержит всю информацию о профилях и результатах тестов в стандартном формате json.

json-min

Этот отчётчик — сокращённая версия json, содержащая только результаты тестов.

yaml

Этот отчётчик содержит всю информацию о профилях и результатах тестов в стандартном формате yaml.

documentation

Этот отчётчик — очень минимальный текстовый отчёт. Он показывает, какие тесты прошли по имени и имеет небольшой сводный отчёт в конце.

junit2

Этот отчётчик выводит стандартный JUnit-спецификацию в формате XML и рекомендуется для всех новых пользователей JUnit.

junit

Этот устаревший отчётчик выводит нестандартный JUnit XML и предоставляется только для обратной совместимости.

progress

Этот отчётчик очень компактен и предоставляет символ . (проход), f (неудачу) или * (пропуск) за каждый тест и небольшой сводный отчёт в конце.

json-rspec

Этот отчётчик содержит всю информацию из исполнителя rspec. В отличие от отчётчика json, он включает в себя специфичные для rspec детали.

html

Этот отчётчик — устаревший HTML-отчётчик RSpec, который сохраняется для обратной совместимости. Сгенерированный отчёт не учитывает профили или управления и содержит только несгруппированную информацию о тестах. Большинству пользователей следует перейти к отчётчику html2 для получения более полной информации.

html2

Этот отчётчик — улучшенный HTML-отчётчик, содержащий полные данные о структуре профиля, управления и тестов. Сгенерированный отчёт отображает код HTML для просмотра ваших тестов в браузере.

Для работы с отчётчиком html2 никакой конфигурации не требуется. Однако доступны две опции — alternate_css_file и alternate_js_file. Опции задаются в файле конфигурации в формате JSON, который потребляет Chef InSpec. Подробности см. в нашем руководстве по файлам конфигурации.

Например:

{
  "version": "1.2",
  "plugins": {
    "inspec-reporter-html2": {
      "alternate_js_file":"/var/www/js/my-javascript.js",
      "alternate_css_file":"/var/www/css/my-style.css"
    }
  }
}

alternate_css_file

Указывает полный путь к файлу CSS, который будет прочитан и встроен в HTML-отчёт. Стандартный CSS не будет включён.

alternate_js_file

Указывает полный путь к файлу JavaScript, который будет прочитан и встроен в HTML-отчёт. Стандартный JavaScript не будет включён. Файл JavaScript должен реализовывать по крайней мере функцию pageLoaded(), которая будет вызываться событием onload элемента HTML body.

Автоматический отчётчик

Тип отчётчика automate — специальный отчётчик, используемый с Chef Automate. Чтобы использовать этот отчётчик, вы должны передать правильную конфигурацию через json-конфигурацию --config.

Пример конфигурации:

{
    "reporter": {
        "automate" : {
            "stdout" : false,
            "url" : "https://YOUR_A2_URL/data-collector/v0/",
            "token" : "YOUR_A2_ADMIN_TOKEN",
            "insecure" : true,
            "node_name" : "inspec_test_node",
            "environment" : "prod"
        }
    }
}

Обязательные поля

stdout

Это позволит либо скрыть, либо отобразить отчёт automate в консоли CLI по завершении.

url

Это ваш URL Automate 2. В конце добавьте data-collector/v0/.

token

Это ваш токен Automate 2. Вы можете сгенерировать этот токен, перейдя во вкладку «Администрирование» A2, а затем в «Ключи API».

Дополнительные поля

insecure

Это отключит или включит проверку SSL при доступе к экземпляру Automate 2.

node_name

Это имя узла, которое отображается в Automate.

node_uuid

Это UUID узла, который отображается в Chef Automate. Используйте один статический UUID на узел для всех ваших отчётов. Вы должны указать node_uuid в файле конфигурации Chef InSpec, если вы запускаете Chef InSpec вне кулинарной книги аудита или другой среды, где chef_guid или node_uuid уже известны Chef InSpec.

environment

Это задаст метаданные среды для Automate.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/reporters/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API