Skip to main content

Введение в GitHub Packages

          GitHub Packages — это сервис хостинга программных пакетов, который позволяет размещать ваши программные пакеты приватно или публично и использовать пакеты как зависимости в ваших проектах.

Кто может использовать эту функцию?

Enterprise Managed Users может публиковаться в пространстве имен организации. Эти пользователи не могут публиковать пакеты в пространстве имен своей учетной записи, так как личные ресурсы хранилища отсутствуют. Дополнительные сведения о Enterprise Managed Usersсм. в разделе Сведения о Enterprise Managed Users.

Около 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.jsonnpm
RubyДиспетчер пакетов RubyGemsGemfilegem
JavaСредство управления и анализа проектов Apache Mavenpom.xmlmvn
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 или личные сведения.