Сканування коду та CodeQL
Залежно від того, який інструмент потрібно використовувати для аналізу та способу створення оповіщень, у сховищі є кілька різних способів налаштування сканування коду. Ось три основні способи:
- Скористайтеся стандартним налаштуванням, щоб швидко настроїти аналіз CodeQL для сканування коду у сховищі. Настроювання за замовчуванням автоматично вибирає мови для аналізу, запуск програмного комплексу запитів і події, які викликають сканування. За потреби можна вручну вибрати програмний комплекс запитів, який потрібно запустити, і мови для аналізу. Після ввімкнення CodeQL дії GitHub виконуватимуть робочий цикл, щоб відсканувати код. Докладні відомості див. в статті "Настроювання параметрів за замовчуванням для сканування коду".
- Щоб додати робочий цикл CodeQL до сховища, скористайтеся додатковим налаштуванням. Створює настроюваний файл робочого циклу, який використовує github/codeql-дію для запуску CLI CodeQL. Докладні відомості див. в статті "Настроювання розширеного настроювання сканування коду".
- Запустіть CLI CodeQL безпосередньо в зовнішній системі CI і завантажте результати до GitHub. Докладні відомості див. в статті "Використання сканування коду з наявною системою CI"[2]
Раніше ми дізналися про початок роботи з настройками та конфігураціями за замовчуванням. Тепер ви дізнаєтеся, як налаштувати сканування коду за допомогою розширеного налаштування, а також як виконати групове настроювання робочого циклу сканування коду для кількох репозиторіїв.
Сканування коду за допомогою дій GitHub і CodeQL
Щоб налаштувати сканування коду за допомогою додаткового налаштування, виконайте такі дії:
- Перейдіть на вкладку параметрів сховища.
- На панелі ліворуч перейдіть до безпеки та аналізу коду , клацніть розкривний список настроювання і виберіть Додаткові. Перш ніж активувати сканування коду, може знадобитися ввімкнути розширену безпеку GitHub.
- Ви перейдете на нову сторінку з створеним файлом робочого циклу. Цей файл за замовчуванням називається
codeql.ymlі є настроюваним файлом робочого циклу, який потрібно взяти на себе у сховищі, щоб почати сканування коду. - Щоб настроїти сканування коду, відредагуйте робочий цикл. Зазвичай ви можете зробити робочий цикл аналізу CodeQL, не вносячи до нього жодних змін.
- Скористайтеся кнопкою Зберегти зміни... кнопку у верхньому правому куті та введіть повідомлення про коміт у спливаючому вікні.
- Укажіть, чи потрібно зробити це безпосередньо в стандартній гілці або створити нову гілку, і почніть запит на витягнення.
- Натисніть кнопку Зберегти зміни.
У стандартному робочому циклі аналізу CodeQL сканування коду настроєно на аналіз коду щоразу, коли ви надсилаєте зміни до гілки за замовчуванням або будь-яких захищених гілок, або піднімаєте запит на витягування від стандартної гілки. Як наслідок, почнеться сканування коду.
Тригери on:pull_request та on:push для сканування коду корисні для різних цілей.
Групове настроювання сканування коду
Сканування коду можна настроїти одночасно в багатьох репозиторіях за допомогою сценарію. Якщо ви хочете використати сценарій, щоб підняти запити на витягнення, які додають робочий цикл Дій GitHub до кількох репозиторіїв, посилання на jhutchings1/Create-ActionsPRs[3] сховище, наприклад, за допомогою PowerShell, або nickliffen/ghas-enablement[4], наприклад за допомогою NodeJS.