1
0
mirror of synced 2026-01-01 09:04:46 -05:00
Files
docs/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md
2022-11-16 21:42:42 +00:00

7.5 KiB
Raw Blame History

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 %}
/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container
/code-security/secure-coding/running-codeql-code-scanning-in-a-container
/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container
fpt ghes ghae ghec
* * * *
how_to
Advanced Security
Code scanning
CodeQL
Actions
Repositories
Containers
Java
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 для соответствующих версий в следующих местах:

Пример рабочего процесса

{% 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 %}