Среда автоматического тестирования для развертывания сервера

Я развертываю серверы Linux все время и хочу тестировать каждую установку. Как системный тест.

Для приложений существует множество тестовых сред, но я не могу найти ничего для тестирования установки сервера.

Чтобы быть более конкретным: Используя Puppet, я развертываю различные комбинации Ubuntu, такие как LAMP, LNMP, Solr, Elasticsearch, Nodejs и т. Д. На более позднем этапе кто-то еще добавит приложение к этим установкам. Чтобы обеспечить максимальное качество, я теперь запускаю Jenkins с матрицей, которая тестирует каждую возможную комбинацию манифестов Puppet, которые я использую. Это гарантирует, что Puppet не выйдет из строя во время развертывания.

Проблема в том, что даже если Puppet завершится успешно, нет гарантии, что, например, ElasicSearch действительно работает, или что iptables блокирует правильные порты и т. Д. Конечно, я мог бы написать кучу сценариев bash для тестирования, но это неправильный путь.

Вопрос в том, существует ли уже структура для этого (но я ' вы это пропустили)? Или есть другие хорошие предложения, как действовать здесь? Цель состоит в том, чтобы иметь возможность тестировать запущенные процессы, подключаться к портам и т. Д.

Спасибо,

0
задан 3 June 2016 в 10:50
2 ответа

Я нашел совпадение префекта (по крайней мере, для меня).

Теперь я использую ServerSpec . Вы запускаете его локально или удаленно на целевой тестовой машине, и тестовые примеры выглядят примерно так:

describe port(80) do
  it { should be_listening }
end

Здесь описаны тонны тестовых ресурсов . Вы можете проверить существующих пользователей, файлы, записи crontab, правила iptables и многое другое.

1
ответ дан 4 December 2019 в 16:35

Вы ищете то, что называется мониторингом. Вы просто настраиваете несколько тестов, и программное обеспечение для мониторинга запускает их и сообщает о результатах. Такого программного обеспечения много,например, zabbix или nagios.

0
ответ дан 4 December 2019 в 16:35

Теги

Похожие вопросы