7.5 KiB
title, shortTitle, intro, product, redirect_from, versions, type, topics, ms.openlocfilehash, ms.sourcegitcommit, ms.translationtype, ms.contentlocale, ms.lasthandoff, ms.locfileid
| title | shortTitle | intro | product | redirect_from | versions | type | topics | ms.openlocfilehash | ms.sourcegitcommit | ms.translationtype | ms.contentlocale | ms.lasthandoff | ms.locfileid | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Выполнение проверки кода CodeQL в контейнере | {% data variables.product.prodname_code_scanning_capc %} in a container | Вы можете запустить {% data variables.product.prodname_code_scanning %} в контейнере, обеспечив выполнение всех процессов в одном контейнере. | {% data reusables.gated-features.code-scanning %} |
|
|
how_to |
|
60dac8a7f71af067c5cfaba5f48d123a3068f704 | aa488e9e64 |
MT | ru-RU | 11/11/2022 | 148162810 |
{% data reusables.code-scanning.beta %}
Сведения о {% data variables.product.prodname_code_scanning %} с контейнерной сборкой
Если вы настраиваете {% data variables.product.prodname_code_scanning %} для скомпилированного языка и создаете код в контейнерной среде, анализ может завершиться ошибкой с сообщением "Исходный код во время сборки не обнаружен". Это означает, что {% data variables.product.prodname_codeql %} не удалось отследить код в процессе его компиляции.
Необходимо запустить {% data variables.product.prodname_codeql %} в контейнере, где происходит сборка кода. Это применимо, если вы используете {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, {% data variables.code-scanning.codeql_runner %},{% endif %} или {% data variables.product.prodname_actions %}. Дополнительные сведения о {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %} или {% data variables.code-scanning.codeql_runner %}{% endif %} см. в разделе Установка {% data variables.product.prodname_codeql_cli %} в системе CI{% ifversion codeql-runner-supported %} или Выполнение {% data variables.code-scanning.codeql_runner %} в системе CI{% endif %}. Если вы используете {% data variables.product.prodname_actions %}, настройте рабочий процесс таким образом, чтобы все действия выполнялись в одном контейнере. Дополнительные сведения см. в разделе Пример рабочего процесса.
{% note %}
Примечание. {% data reusables.code-scanning.non-glibc-linux-support %}
{% endnote %}
Зависимости
Проблемы с проверкой {% data variables.product.prodname_code_scanning %} могут возникнуть, если в контейнере, который вы используете, отсутствуют определенные зависимости (например, необходимо установить Git и добавить его в переменную PATH). При возникновении проблем с зависимостями просмотрите список программного обеспечения, обычно включенного в образы средства выполнения тестов {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в файлах readme для соответствующих версий в следующих местах:
- Linux: https://github.com/actions/runner-images/tree/main/images/linux
- macOS: https://github.com/actions/runner-images/tree/main/images/macos
- Windows: https://github.com/actions/runner-images/tree/main/images/win
Пример рабочего процесса
{% ifversion ghes or ghae %} {% note %}
Примечание. В этой статье описываются функции, доступные в версии действия CodeQL и в связанном пакете интерфейса командной строки CodeQL, который входит в первоначальный выпуск этой версии {% data variables.product.product_name %}. Если в вашей организации используется более поздняя версия действия CodeQL, сведения об актуальных функциях см. в статье {% data variables.product.prodname_ghe_cloud %}.{% ifversion not ghae %} Сведения об использовании последней версии см. в разделе Настройка проверки кода для устройства.{% endif %}
{% endnote %} {% endif %}
В этом примере рабочего процесса {% data variables.product.prodname_actions %} используется для анализа {% data variables.product.prodname_codeql %} в контейнерной среде. Значение container.image идентифицирует используемый контейнер. В этом примере изображение называется codeql-container и снабжено тегом f0f91db. Дополнительные сведения см. в статье Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}.
name: "{% data variables.product.prodname_codeql %}"
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '15 5 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
strategy:
fail-fast: false
matrix:
language: [java]
# Specify the container in which actions will run
container:
image: codeql-container:f0f91db
steps:
- name: Checkout repository
uses: {% data reusables.actions.action-checkout %}
- name: Initialize {% data variables.product.prodname_codeql %}
uses: {% data reusables.actions.action-codeql-action-init %}
with:
languages: {% raw %}${{ matrix.language }}{% endraw %}
- name: Build
run: |
./configure
make
- name: Perform {% data variables.product.prodname_codeql %} Analysis
uses: {% data reusables.actions.action-codeql-action-analyze %}