Сведения о GitHub Packages
GitHub Packages — это платформа для размещения пакетов, включая контейнеры и другие зависимости, и управления ими. GitHub Packages объединяет исходный код и пакеты в одном месте, чтобы предоставить возможность интегрированного управления разрешениями и выставления счетов, что позволяет централизировать разработку программного обеспечения в GitHub.
Вы можете интегрировать GitHub Packages с GitHub, GitHub Actions и веб-перехватчиками, чтобы создать комплексный рабочий процесс DevOps, включающий решения для разработки кода, непрерывной интеграции и развертывания.
GitHub Packages предлагает различные реестры пакетов для часто используемых диспетчеров пакетов, таких как npm, RubyGems, Apache Maven, Gradle, Docker и NuGet. Реестр Container registry приложения GitHub оптимизирован для контейнеров и поддерживает образы Docker и OCI. Дополнительные сведения о различных реестрах пакетов, поддерживаемых GitHub Packages, см. в статье Работа с реестром GitHub Packages.
Вы можете посмотреть файл сведений пакета, а также метаданные, такие как лицензирование, статистику скачиваний, журнал версий, и многое другое для GitHub. Дополнительные сведения см. в статье "Просмотр пакетов".
Обзор разрешений и видимости пакета
Разрешения | Разрешения для пакета либо наследуются из репозитория, в котором размещен пакет, либо могут быть определены для определенных учетных записей пользователей или организаций. Некоторые реестры поддерживают только разрешения, унаследованные от репозитория. Список этих реестров см. в разделе Сведения о разрешениях для GitHub Packages. Дополнительные сведения о доступе к пакету см. в разделе Настройка управления доступом и видимости пакета. |
Видимость | Вы можете публиковать пакеты в общедоступном репозитории (общедоступные пакеты), чтобы совместно использовать их со всеми участниками GitHub, или в частном репoзитории (частные пакеты), чтобы совместно использовать их с участниками совместной работы или с организацией. |
Сведения о выставлении счетов за GitHub Packages
За использование GitHub Packages не взимается плата для общедоступных пакетов. Для частных пакетов каждая учетная запись в GitHub.com получает определенный объем бесплатного хранилища и передачи данных в зависимости от продукта, используемого с учетной записью. Использование с превышением предусмотренных объемов регулируется предельными суммами расходов. Если счета выставляются ежемесячно, ваша учетная запись будет иметь предельную сумму расходов по умолчанию, равную 0 долларам США (USD), что делает невозможным дополнительное использование хранилища и передачу данных после достижения предельных объемов. Если вы оплачиваете учетную запись по счету, предельная сумма расходов по умолчанию для вашей учетной записи будет неограниченной. Дополнительные сведения см. в статье О выставлении счетов за GitHub Packages.
Поддерживаемые клиенты и форматы
GitHub Packages использует собственные команды инструментов для работы пакетами, с которыми вы уже знакомы, для публикации и установки версий пакетов.
Поддержка реестров пакетов
Язык | Описание | Формат пакета | Клиент пакета |
---|---|---|---|
JavaScript | Диспетчер пакетов узла | package.json | npm |
Ruby | Диспетчер пакетов RubyGems | Gemfile | gem |
Java | Средство управления и анализа проектов Apache Maven | pom.xml | mvn |
Java | Средство автоматизации сборки Gradle для Java | build.gradle или build.gradle.kts | gradle |
.NET | Управление пакетами NuGet для .NET | nupkg | dotnet CLI |
Н/Д | Управление контейнерами Docker | Dockerfile | Docker |
Дополнительные сведения о настройке клиента пакета для использования с GitHub Packages приведены в статье Работа с реестром GitHub Packages registry.
Дополнительные сведения о Docker и Container registry см. в статье Работа с реестром контейнеров.
Проверка подлинности в GitHub Packages
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Создание personal access token.
Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.
Вы можете использовать personal access token (classic) для проверки подлинности в GitHub Packages или GitHub. При создании personal access token (classic) маркер можно назначить различным областям в зависимости от ваших потребностей. Дополнительные сведения о связанных с пакетами областях для personal access token (classic) см. в разделе Сведения о разрешениях для пакетов GitHub.
Для проверки подлинности в реестре GitHub Packages в рабочем процессе GitHub Actions можно использовать следующее:
GITHUB_TOKEN
для публикации пакетов, связанных с репозиторием рабочих процессов.- personal access token (classic) с по крайней мере
read:packages
областью установки пакетов, связанных с другими частными репозиториями (которыеGITHUB_TOKEN
не могут получить доступ).
Дополнительные сведения об GITHUB_TOKEN
, используемом в рабочих процессах GitHub Actions, см. в разделе Проверка подлинности в рабочем процессе.
Управление пакетами
Пакет можно удалить в пользовательском интерфейсе GitHub или с помощью REST API. Дополнительные сведения см. в разделах Удаление и восстановление пакета и APIGitHub Packages. Для некоторых реестров можете использовать GraphQL для удаления версии частного пакета.
Api GraphQL GitHub Packages нельзя использовать с реестрами, поддерживающими детализированные разрешения. Реестры, которые поддерживают только разрешения на уровне репозитория и могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для GitHub Packages.
При использовании API GraphQL для запроса и удаления частных пакетов необходимо использовать тот же personal access token (classic), который используется для проверки подлинности в GitHub Packages.
Дополнительные сведения см. в статье Создание вызовов с помощью GraphQL.
Вы можете настроить веб-перехватчики, чтобы подписаться на события, связанные с пакетом, например на публикацию или обновление пакета. Дополнительные сведения см. в статье Событие веб-перехватчика package
.
Обращение в службу поддержки
Если у вас есть отзывы или запросы функций для GitHub Packages, используйте обсуждение GitHub Community.
Свяжитесь Поддержка GitHub по поводу GitHub Packages, используя нашу форму обратной связи, если:
- Вы наблюдаете что-либо, что противоречит документации.
- Возникают непонятные ошибки.
- Ваш опубликованный пакет содержит конфиденциальные данные, такие как нарушения GDPR, ключи API или личные сведения.