Проверка кода и CodeQL
В зависимости от того, какое средство вы хотите использовать для анализа и способа создания оповещений, существует несколько различных вариантов настройки сканирования кода в репозитории. Ниже приведены три основных способа:
- Используйте настройку по умолчанию, чтобы быстро настроить анализ CodeQL для сканирования кода в репозитории. Настройка по умолчанию автоматически выбирает языки для анализа, набора запросов для выполнения и событий, которые активируют сканирование. Если вы предпочитаете, можно вручную выбрать набор запросов для выполнения и анализа языков. После включения CodeQL действия GitHub будут выполнять рабочие процессы для сканирования кода. Дополнительные сведения см. в разделе "Настройка настройки по умолчанию для сканирования кода".
- Используйте расширенную настройку, чтобы добавить рабочий процесс CodeQL в репозиторий. При этом создается настраиваемый файл рабочего процесса, который использует действие github/codeql-action для запуска интерфейса командной строки CodeQL. Дополнительные сведения см. в разделе "Настройка расширенной настройки для сканирования кода".
- Запуск CodeQL CLI непосредственно во внешней системе CI и отправка результатов в GitHub. Дополнительные сведения см. в статье "Использование сканирования кода с существующей системой CI". [2]
Ранее мы узнали о начале работы с настройкой и конфигурациями по умолчанию. Теперь вы узнаете, как настроить сканирование кода с помощью расширенной установки, а также как выполнить массовую настройку рабочего процесса сканирования кода для нескольких репозиториев.
Проверка кода с помощью GitHub Actions и CodeQL
Чтобы настроить сканирование кода с помощью расширенной установки, сделайте следующее:
- Перейдите на вкладку "Параметры " репозитория.
- На панели слева перейдите к разделу "Безопасность и анализ кода", щелкните раскрывающийся список установки и выберите "Дополнительно". Перед включением сканирования кода может потребоваться включить расширенную безопасность GitHub.
- Вы перейдете на новую страницу с созданным файлом рабочего процесса. Этот файл по умолчанию
codeql.ymlназывается и является настраиваемым файлом рабочего процесса, который должен быть зафиксирован в репозитории, чтобы начать сканирование кода. - Чтобы настроить проверку кода, измените рабочий процесс. Как правило, вы можете зафиксировать рабочий процесс анализа CodeQL, не внося в него никаких изменений.
- Нажмите кнопку "Зафиксировать изменения..." в правом верхнем углу и введите сообщение фиксации в всплывающем окне.
- Выберите, хотите ли вы зафиксировать непосредственно ветвь по умолчанию или создать новую ветвь и запустить запрос на вытягивание.
- Нажмите кнопку "Зафиксировать изменения".
В рабочем процессе анализа CodeQL по умолчанию проверка кода настраивается для анализа кода при каждой отправке изменений в ветвь по умолчанию или в любые защищенные ветви или при вызове запроса на вытягивание в ветви по умолчанию. В результате начнется проверка кода.
Триггеры on:pull_request и on:push для проверки кода используются для разных целей.
Пакетная настройка проверки кода
Вы можете настроить проверку кода во многих репозиториях одновременно с помощью скрипта. Если вы хотите использовать скрипт для создания запросов на слияние, добавляющих рабочий процесс GitHub Actions в несколько репозиториев, обратитесь к репозиторию jhutchings1/Create-ActionsPRs[3] как примеру с использованием PowerShell или к nickliffen/ghas-enablement[4] для примера с использованием Node.js.