Сведения о GitHub Packages
GitHub Packages — это платформа для размещения пакетов, включая контейнеры и другие зависимости, и управления ими. GitHub Packages объединяет исходный код и пакеты в одном месте, чтобы предоставить возможность интегрированного управления разрешениями и выставления счетов, что позволяет централизировать разработку программного обеспечения в GitHub.
Вы можете интегрировать GitHub Packages с GitHub, GitHub Actions и веб-перехватчиками, чтобы создать комплексный рабочий процесс DevOps, включающий решения для разработки кода, непрерывной интеграции и развертывания.
GitHub Packages предлагает различные реестры пакетов для часто используемых диспетчеров пакетов, таких как npm, RubyGems, Apache Maven, Gradle, Docker и NuGet. GitHub Container registry оптимизирован для контейнеров и поддерживает образы Docker и OCI. Дополнительные сведения о различных реестрах пакетов, поддерживаемых GitHub Packages, см. в разделе Работа с реестром GitHub Packages.
Вы можете посмотреть файл сведений пакета, а также метаданные, такие как лицензирование, статистику скачиваний, журнал версий, и многое другое для GitHub. Дополнительные сведения см. в разделе Просмотр пакетов.
Общие сведения о разрешениях пакета
Разрешения для пакета либо наследуются из репозитория, в котором размещен пакет, либо могут быть определены для определенных пользователей или организаций. Некоторые реестры поддерживают только разрешения, унаследованные от репозитория. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub. Дополнительные сведения о доступе к пакету см. в разделе Настройка управления доступом и видимости пакета.
Обзор видимости пакета
Вы можете публиковать пакеты в общедоступном репозитории (общедоступные пакеты), чтобы совместно использовать их со всеми участниками 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.
Дополнительные сведения о Docker и Container registry см. в разделе Работа с реестром контейнеров.
Проверка подлинности в GitHub Packages
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Создание личного маркера доступа.
Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.
Вы можете использовать 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. Дополнительные сведения см. в разделах Удаление и восстановление пакета и Пакеты. Для некоторых реестров можете использовать GraphQL для удаления версии частного пакета.
Api GraphQL GitHub Packages нельзя использовать с реестрами, поддерживающими детализированные разрешения. Реестры, которые поддерживают только разрешения на уровне репозитория и могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub.
При использовании API GraphQL для запроса и удаления частных пакетов необходимо использовать тот же personal access token (classic), который используется для проверки подлинности в GitHub Packages.
Дополнительные сведения см. в разделах "Формирование вызовов с помощью GraphQL".
Вы можете настроить веб-перехватчики, чтобы подписаться на события, связанные с пакетом, например на публикацию или обновление пакета. Дополнительные сведения см. в разделе События и полезные данные веб-перехватчика.
Обращение в службу поддержки
Если у вас есть отзывы или запросы функций для GitHub Packages, используйте обсуждение GitHub Community.
Свяжитесь Поддержка GitHub по поводу GitHub Packages, используя нашу форму обратной связи, если:
- Вы наблюдаете что-либо, что противоречит документации.
- Возникают непонятные ошибки.
- Ваш опубликованный пакет содержит конфиденциальные данные, такие как нарушения GDPR, ключи API или личные сведения.