Около GitHub Packages
GitHub Packages это платформа для размещения и управления пакетами, включая контейнеры и другие зависимости.
GitHub Packages объединяет исходный код и пакеты пакетов в одном месте для интегрированного управления правами и выставления счетов, чтобы вы могли централизовать разработку программного обеспечения на GitHub.
Вы можете интегрировать GitHub Packages с GitHubAPI GitHub Actionsи вебхуками , чтобы создать сквозной рабочий процесс DevOps, включающий ваш код, CI и решения для развертывания.
GitHub Packages предлагает различные реестры пакетов для широко используемых менеджеров пакетов, таких как npm, RubyGems, Apache Maven, Gradle, Docker и NuGet.
GitHubоптимизирован Container registry для контейнеров и поддерживает образы Docker и OCI. Для получения дополнительной информации о различных поддерживающих реестрах GitHub Packages пакетов см. [AUTOTITLE](/packages/working-with-a-github-packages-registry).
Вы можете просматривать README пакета, а также метаданные, такие как лицензирование, статистика загрузок, история версий и многое другое на GitHub. Дополнительные сведения см. в разделе Просмотр пакетов.
Общие сведения о разрешениях пакета
Разрешения для пакета наследуются из репозитория, в котором размещен пакет, или могут быть определены для определенных пользователей или организаций. Некоторые реестры поддерживают только разрешения, унаследованные от репозитория. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub. Дополнительные сведения о доступе к пакетам см. в разделе Настройка управления доступом и видимости пакета.
Обзор видимости пакета
Пакеты можно опубликовать в общедоступный репозиторий (общедоступные пакеты), чтобы предоставить общий доступ к все GitHub, или в частном репозитории (частные пакеты), чтобы поделиться с коллегами или организацией.
О связанных артефактах для организаций
Есть linked artifacts page альтернативный вариант, к которому можно получить доступ в разделе «Пакеты» в настройках организации.
Например GitHub Packages, linked artifacts page это позволяет собирать информацию о зданиях вашей организации в одном месте. Команды могут использовать его linked artifacts page для поиска исходного кода артефакта, деталей сборки и истории развертывания.
В отличие от GitHub Packages, они linked artifacts pageсами не размещают пакет или файлы изображений. Вместо этого он предоставляет авторитетный источник метаданных, связанных с каждым пакетом или изображением.
Ваша организация может получить выгоду от использования linked artifacts page одного из следующих вариантов:
-
**Кроме**GitHub Packages того, как дополнительный взгляд, сосредоточен на аспектах соответствия и безопасности потребления упаковок -
**В качестве альтернативы**GitHub Packages позволить хранить ваши посылки в выбранном вами внешнем реестре, сохраняя видимость посылок на GitHub
Дополнительные сведения см. в разделе О связанных артефактах.
О выставлении счетов GitHub Packages
Использование GitHub Packages бесплатно **** для общедоступных пакетов.
Для частных пакетов каждая учетная запись на GitHub получает объем свободного хранилища и передачи** данных, определенный **планом учетной записи. Любое использование, превышающее включенные суммы, контролируется бюджетами.
Если у вашей учетной записи нет допустимого метода оплаты в файле, использование блокируется после использования квоты.
Если у вас есть допустимый метод оплаты в файле, расходы могут быть ограничены одним или несколькими бюджетами. Проверьте бюджеты, заданные для вашей учетной записи, чтобы убедиться, что они подходят для ваших потребностей в использовании. См . раздел AUTOTITLE.
Дополнительные сведения см. в разделе Биллинг пакетов GitHub.
Поддерживаемые клиенты и форматы
GitHub Packages Использует натыльные команды инструментов пакетов, с которыми вы уже знакомы, чтобы публиковать и устанавливать версии пакетов.
Поддержка реестров пакетов
| Язык | Description | Формат пакета | Клиент пакета |
|---|---|---|---|
| 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 |
Примечание.
Реестры Apache Maven и Gradle недоступны для GitHub Enterprise Cloud с размещением данных.
Для получения дополнительной информации о настройке клиента пакета для использования GitHub Packagesс , смотрите Работа с реестром GitHub Packages.
Для получения дополнительной информации о Docker и Container registry, см. Работа с реестром контейнеров.
Аутентификация в GitHub Packages
Примечание.
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.
Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.
Можно использовать personal access token (classic) для проверки подлинности в API GitHub Packages или API GitHub . При создании personal access token (classic)можно назначить маркер различным областям в зависимости от ваших потребностей. Дополнительные сведения о областях, связанных с пакетами, для personal access token (classic), см. в разделе Сведения о разрешениях для пакетов GitHub.
Для проверки подлинности в реестре GitHub Packages в рабочем процессе GitHub Actions можно использовать следующее:
GITHUB_TOKENдля публикации пакетов, связанных с репозиторием рабочих процессов.- personal access token (classic) с по крайней мере
read:packagesобластью действия для установки пакетов, связанных с другими частными репозиториями (GITHUB_TOKENможно использовать, если репозиторий предоставлен доступ на чтение к пакету. См . раздел AUTOTITLE.
Дополнительные сведения об GITHUB_TOKEN использовании в рабочих процессах GitHub Actions см. в разделе Использование GITHUB_TOKEN для проверки подлинности в рабочих процессах.
Управление пакетами
Вы можете удалить пакет в GitHub пользовательском интерфейсе или через REST API. Дополнительные сведения см. в разделе [AUTOTITLE и Удаление и восстановление пакета](/rest/packages). Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета.
С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения в области репозитория, и которые могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub.
Когда вы используете API GraphQL для запроса и удаления частных пакетов, необходимо использовать тот personal access token (classic) же файл, который используется для аутентификации в GitHub Packages.
Для получения дополнительной информации смотрите Формирование вызовов с помощью GraphQL.
Вы можете настроить веб-перехватчики, чтобы подписаться на события, связанные с пакетом, например на публикацию или обновление пакета. Дополнительные сведения см. в разделе AUTOTITLE.
Обращение в службу поддержки
Если у вас есть обратная связь или запросы GitHub Packagesна функции, используйте GitHub Community обсуждение.
Свяжитесь с нами по адресу Портал поддержки GitHubGitHub Packages :
- Вы наблюдаете что-либо, что противоречит документации.
- Возникают непонятные ошибки.
- Ваш опубликованный пакет содержит конфиденциальные данные, такие как нарушения GDPR, ключи API или личные сведения.