В моем Предыдущий пост Я посмотрел на анализ статического кода с двумя из трех инструментов, которые я собираюсь использовать в этом посте. Теперь мы будем смотреть на Терраскан В качестве нашего инструмента анализы и запустите его из CI/CD Platform Azure DEVOPS, которые также будут размещать код Terraform, который мы хотим просмотреть.
Чтобы следовать с постом в настройке этой настройки, вам понадобится вышеупомянутые инструменты с разрешениями на Azure DEVOPS, чтобы иметь возможность создавать трубопровод, добавлять расширения с рынка и обязываться к репозитории.
Код
Согласно моему предыдущему посту, я буду повторно использовать пример файла конфигурации Terraform, который содержит плохие практики, такие как пароль в простом тексте. Это позволит мне проверить инструмент, так как он должен поменять некоторые из этих плохих практик.
Это пример кода:
В моем примере это хранится в репозитории Azure DEVOPS, но вы можете использовать третьстороннюю репозиторий, как GitHub в качестве альтернативы.
Конфигурация трубопровода
Мы создадим отдельный трубопровод в рамках Azure DevOps вместо того, чтобы использовать тот же, который мы использовали в предыдущем посте (вы можете объединить их, но я охвачу это позже). Это будет использоваться для запуска Terracan, чтобы проанализировать код. Вы захотите открыть свой проект в рамках Azure DEVOPS и перейдите в Трубопроводы Отказ
Теперь вы хотите создать трубопровод для этого. Выберите новый вариант трубопровода и в новом окне Выберите Используйте классический редактор Отказ
Здесь вы хотите выбрать репозиторий, где хранится файл конфигурации. Я сохранил его в репозиторий Azure DEVOPS, поэтому выберу это как мое местоположение.
После выбора вам нужно будет выбрать Пустая работа Как вариант шаблона для этого трубопровода.
Первые поля появятся просьба дать вам имя по трубопроводу и выберите пулы агента, которые вы хотите использовать. Для этой демонстрации я выбрал использовать размещенные агенты, где я буду запускать Terracan на ОС Ubuntu. Ниже приведены конфигурации, которые я устанавливаю.
После заполнения всех полей вы хотите выбрать Беги по агенту Опция и настройте имя задания агента. Я решил назвать агентом Terracan Analyzes Как казалось подходящим для того, что он делает.
Теперь мы собираемся выбрать Плюс значок В поле «Запустить на поле агента», чтобы добавить работу. Вам будет предложено выбрать что-то из ваших установленных в настоящее время расширений или с рынка. Первоначально необходимо установить террафом, поскольку это является предпосылкой Terracan, поэтому нам нужно будет использовать Расширение террафора С рынка (у вас может быть это уже так пропустить этот шаг).
После того, как вы приобретены с рынка, вы можете затем выбирать на Установите террафом Отказ
В окне конфигурации террафора расширения выберите версию Terraporm, которую вы хотите запустить на хостеренном агенте (как написание этого, V0.15.0 Terraform имеет ошибку, которая останавливает инициализацию, это может привести к тому, что Terracan не работает более ранняя версия).
Выберите Плюс значок на Беги по агенту и выберите Bash расширение.
Здесь вы хотите установить Terracan, используя встроенную функцию. Вот что я использовал для установки программного обеспечения.
Повторите процесс добавления другого Bash Расширение к трубопроводу и на этот раз мы настраиваем встроенный, поэтому Terracan может запустить анализы и выводить результаты в файл XML. Обязательно отметьте галочку под Варианты управления заголовок Продолжайте по ошибке Опция или не удастся прогон трубопровода.
Опять же выберите Плюс значок на Беги по агенту и выберите Опубликовать результаты тестов расширение.
Теперь мы импортируем результаты XML из Terracanan в функцию результатов теста в DEVOPS AZURE. Вот конфигурации, которые я использовал для импорта.
После того, как все настроили, выберите Сохранить на трубопроводе.
Пробег трубопровода
Теперь вы готовы запускать трубопровод. Все, что вам нужно сделать, это выбрать Беги Опция под трех пунктирной значок рядом с именем трубопровода. Трубопровод сообщит о неудаче, если Terracan флаги что-то в своем анализе, если ничего не помечено, трубопровод добится успеха.
В моем коде я был отмечен Terracan, который установил статус сборки трубопровода, как не удалось.
Отчет об анализе кода
Теперь у нас есть трубопровод, и этот отчет опубликован в тестовые отчеты Azure DEVOPS, мы можем просмотреть эти отчеты в двух месте. Первый находится в строке трубопровода, выберите работу трубопровода и откройте вкладку Тесты Отказ Здесь вы увидите тесты, чем бегали по Terracan, что прошло и потерпели неудачу и причины для этого.
Нажав на флагский провал, вы увидите более подробную информацию о том, почему он не удался.
В качестве альтернативы вы можете просмотреть отчеты тестов через боковое меню под Планы испытаний и Пробеги
Вы можете сделать больше с Terracan, но это не будет покрыто в этом посте, но будущие посты на тему. Тем временем оформить заказ Terracan Github Страница для получения дополнительной информации.
Оригинал: «https://dev.to/officialcookj/static-code-analyses-terrascan-terraform-and-azure-devops-3690»