Настройка доступа к сети для самостоятельных раннеров
Если ваши самостоятельные раннеры работают за межсетевым экраном с ограниченным выходящим доступом в интернет, необходимо добавить определённые URL в список разрешений для автоматической отправки зависимостей. Требуемые URL-адреса зависят от экосистем, которые используют ваши репозитории.
Обязательные URL-адреса для всех экосистем
Эти URL-адреса необходимы для всех рабочих процессов автоматической отправки зависимостей:
-
`https://github.com`—Требуется для доступа к GitHub и загрузки действий. -
`https://api.github.com`—Требуется для доступа к API GitHub. -
`https://*.githubusercontent.com`—Требуется для скачивания исходного кода действия и релизов (включая `raw.githubusercontent.com`, `github-releases.githubusercontent.com`, и `objects.githubusercontent.com`).
Специфичные для экосистемы URL
В зависимости от используемых вами экосистем, возможно, потребуется добавить дополнительные URL-адреса.
Вперед
-
`https://go.dev`—Для скачивания инструментария Go. -
`https://golang.org`— Альтернативный домен для загрузок с Go. -
`https://proxy.golang.org`—Официальный прокси модуля Go для загрузки модулей Go во время обнаружения зависимостей.
Примечание.
Доступ к actions/go-versions репозиторию осуществляется через https://raw.githubusercontent.com, что уже предусмотрено общими требованиями.
Java (Maven и Gradle)
-
`https://repo.maven.apache.org`—Репозиторий Maven Central для загрузки зависимостей. -
`https://api.adoptium.net`— Для скачивания дистрибутивов Adoptium/Temurin JDK (дистрибутив по умолчанию используется ).`actions/setup-java`
Если вы используете другой дистрибутив JDK, вам также может понадобиться:
-
`https://aka.ms` и `https://download.microsoft.com`—Для Microsoft Build of OpenJDK (примечание: `aka.ms` также используется для .NET загрузок). -
`https://download.oracle.com`—Для Oracle JDK. -
`https://api.azul.com`—для Azul Zulu OpenJDK.
.NET (C#, F#, Visual Basic)
-
`https://aka.ms` — укорачивающий URL Microsoft, который перенаправляет на .NET места загрузки. -
`https://builds.dotnet.microsoft.com` — Основная лента для загрузок SDK .NET и во время выполнения. -
`https://ci.dot.net` — Вторичный корм для .NET билдов.
Примечание.
Инструмент microsoft/component-detection, используемый при .NET автоподаче, скачивается с GitHub релизов, которые уже охвачены общими требованиями (https://github.com и https://*.githubusercontent.com).
Python
-
`https://python.org` — Для загрузки Python интерпретаторов.
Примечание.
Репозиторий и релизы доступны через URL, actions/python-versions уже указанные в общих требованиях (microsoft/component-detection и https://*.githubusercontent.com).https://github.com
Используйте GitHub-hosted более крупные бегуны для автоматической подачи зависимостей
GitHub Team или GitHub Enterprise Cloud пользователи могут использовать более крупные бегуны для выполнения заданий автоматической отправки зависимостей.
- Подготовьте более крупного бегуна на уровне организации с именем
dependency-submission. Дополнительные сведения см. в разделе "Добавление данных крупное средство выполнения в организацию. - Предоставьте репозиторию доступ к средству выполнения. Дополнительные сведения см. в разделе "Разрешить репозиториям доступ к более крупные бегуны".
- В разделе "Граф зависимостей" щелкните раскрывающееся меню рядом с параметром "Автоматическая отправка зависимостей", а затем выберите "Включено" для помеченных средств выполнения.
Устранение неполадок при автоматической подаче зависимостей
Автоматическая отправка зависимостей позволяет лучше всего кэшировать скачивание пакетов между запусками с помощью действия кэша для ускорения рабочих процессов. Для локальных средств выполнения может потребоваться управлять этим кэшем в собственной инфраструктуре. Для этого можно отключить встроенный кэширование, задав для переменной GH_DEPENDENCY_SUBMISSION_SKIP_CACHE среды значение true. Дополнительные сведения см. в разделе Хранение сведений в переменных.
Дедупликация манифеста
Сведения о экосистеме пакетов
Проекты Maven
Для проектов Maven автоматическая отправка зависимостей запускается как open source форк Maven Dependency Tree Dependency Submission. Вилка позволяет GitHub оставаться в синхронизации с вышестоящим репозиторием, а также поддерживать некоторые изменения, применимые только к автоматической отправке. Источник вилки доступен в режиме advanced-security/maven-dependency-submission-action.
Если зависимости репозитория выглядят неточными, убедитесь, что метка времени последнего граф зависимостей сборки соответствует последнему изменению pom.xml файла. Метка времени отображается на таблице оповещений на вкладке данных репозитория variables.product.prodname_dependabot_alerts %} . Отправка фиксации, которая обновления pom.xml активирует новое выполнение действия отправки дерева зависимостей и принудительное перестроение граф зависимостей этого репозитория.
Проекты Gradle
Для проектов Gradle автоматическая отправка зависимостей выполняет форк действий open source Gradle из gradle/actions. Вилку можно использовать при действиях или действиях gradle-build-tools-actions. Результаты действия автоматической отправки можно просмотреть на вкладке "Действия** репозитория**". Каждый запуск будет помечен как "Автоматическая отправка зависимостей (Gradle)" и его выходные данные будут содержать полезные данные JSON, которые действие отправляется в API.
.NET-проекты
Действие auto submission .NET использует проект open source component-detection в качестве движка для обнаружения зависимостей. Поддерживает .NET 8.x, 9.x и 10.x. .NET автоотправка выполняется, если dependabot.yml репозитория определяет nuget как package-ecosystem или когда поддерживаемый файл манифеста находится в корневом каталоге репозитория. Поддерживаемые файлы манифеста включают .sln, , .csproj, packages.config``.vbproj, .vcxprojи .fsproj.
Python-проекты
Python использует проект open source component-detection в качестве базового движка генерации графов. Действие автоотправки для Python выполняется только если в корневом каталоге репозитория есть файл requirements.txt. Python автоотправка в настоящее время не поддерживает приватные пакеты; пакеты, упомянутые в requirements.txt, которые не являются публично доступными, приведут к провалу действия автоотправки.
Примечание.
Это действие использует actions/setup-python для установки Python. Вы должны включить . Файл python-version в вашем репозитории, чтобы указать версию Python для установки.