Съдържание и теми, включени в курса
1. Концепции и обхват на статичния анализ на кода
- Дефиниции: статичен анализ, SAST, категории правила и сериозност
- Обхват на статичния анализ в сигурното SDLC и покриване на рисковете
- Как SonarQube се вписва в контролите за сигурност и потоците за работа на разработчиците
2. Преглед на SonarQube: функции и архитектура
- Основни услуги, база данни и компоненти на скенера
- Quality Gates, Quality Profiles и най-добрите практики за Quality Gates
- Функции, свързани със сигурността: уязвимости, SAST правила и мапиране към CWE
3. Навигация и използване на потребителския интерфейс на сървъра на SonarQube
- Обход на потребителския интерфейс на сървъра: проекти, проблеми, правила, мерки и изгледи за управление
- Тълкуване на страниците с проблеми, проследимост и указания за коригиране
- Генериране на отчети и опции за експорт
4. Конфигуриране на SonarScanner с инструменти за изграждане
- Настройка на SonarScanner за Maven, Gradle, Ant и MSBuild
- Най-добрите практики за свойства на скенера, изключения и мултимодулни проекти
- Генериране на необходимите тестови данни и отчети за покритие за точен анализ
5. Интеграция с Azure DevOps
- Конфигуриране на връзки към услугата SonarQube в Azure DevOps
- Добавяне на задачи SonarQube в Azure Pipelines и декориране на PR-ове
- Импорт на Azure Repos в SonarQube и автоматизация на анализите
6. Конфигуриране на проекта и анализатори на трети страни
- Проектни профили за качество и избор на правила за Java и Angular
- Работа с анализатори на трети страни и жизнения цикъл на плуг-ините
- Дефиниране на параметри на анализа и наследяване на параметри
7. Роли, отговорности и преглед на методологията за сигурно разработване
- Разделяне на ролята: разработчици, преглеждащи, DevOps, собственици на сигурността
- Изграждане на матрица на ролята и отговорностите за процесите CI/CD
- Процес на преглед и препоръки за съществуваща методология за сигурно разработване
8. Разширено: Добавяне на правила, настройка и подобряване на глобалните функции за сигурност
- Използване на Web API на SonarQube за добавяне и управление на персонализирани правила
- Настройка на Quality Gates и автоматизирано прилагане на политики
- Засилване на сигурността на сървъра на SonarQube и най-добрите практики за контрол на достъпа
9. Практически лабораторни сесии (Приложени)
- Лаборатория A: Настройка на SonarScanner за 5 репозитория на Java (Quarkus където е приложимо) и анализ на резултатите
- Лаборатория B: Настройка на анализ на Sonar за 1 Angular frontend и тълкуване на констатациите
- Лаборатория C: Лаборатория за пълен конвейер - интеграция на SonarQube с конвейер на Azure DevOps и активиране на декориране на PR-ове
10. Тестване, отстраняване на неизправности и тълкуване на отчети
- Стратегии за генериране на тестови данни и измерване на покритието
- Често срещани проблеми и отстраняване на грешки в скенера, конвейера и правата
- Как да четете и представяте отчетите на SonarQube на технически и нетехнически заинтересовани страни
11. Най-добрите практики и препоръки
- Избор на набор от правила и стратегии за постепенно прилагане
- Препоръки за потоци за работа за разработчици, преглеждащи и конвейери за изграждане
- Ръководство за мащабиране на SonarQube в корпоративни среди
Обобщение и следващи стъпки
Изисквания
- Разбиране на жизнения цикъл на разработката на софтуер
- Опит с управление на източников кода и основни концепции за CI/CD
- Знаеми със средите за разработка на Java или Angular
Целева аудитория
- Разработчици (Java / Quarkus / Angular)
- DevOps и CI/CD инженери
- Инженери по сигурност и прегледи на приложението за сигурност
Отзиви от участници (1)
Занимателно и praktично упражнение.
Balavignesh Elumalai - Scottish Power
Курс - SonarQube for DevOps
Машинен превод