Сведения о GitHub Packages
GitHub Packages — это платформа для размещения пакетов, включая контейнеры и другие зависимости, и управления ими. GitHub Packages объединяет исходный код и пакеты в одном месте, чтобы предоставить возможность интегрированного управления разрешениями и выставления счетов, что позволяет централизировать разработку программного обеспечения в GitHub Enterprise Cloud.
Вы можете интегрировать GitHub Packages с GitHub, GitHub Actions и веб-перехватчиками, чтобы создать комплексный рабочий процесс DevOps, включающий решения для разработки кода, непрерывной интеграции и развертывания.
GitHub Packages предлагает различные реестры пакетов для часто используемых диспетчеров пакетов, таких как npm, RubyGems, Apache Maven, Gradle, Docker и NuGet. GitHubContainer registry оптимизирован для контейнеров и поддерживает образы Docker и OCI. Дополнительные сведения о разных реестрах пакетов, поддерживаемых GitHub Packages, см. в разделе "Работа с реестром GitHub Packages".
Вы можете посмотреть файл сведений пакета, а также метаданные, такие как лицензирование, статистику скачиваний, журнал версий, и многое другое для GitHub Enterprise Cloud. Дополнительные сведения см. в разделе Просмотр пакетов.
Общие сведения о разрешениях пакета
Разрешения для пакета наследуются из репозитория, в котором размещен пакет, или могут быть определены для определенных пользователей или организаций. Некоторые реестры поддерживают только разрешения, унаследованные от репозитория. Список этих реестров см. в разделе "Сведения о разрешениях для пакетов GitHub". Дополнительные сведения о доступе к пакетам см. в разделе "Настройка управления доступом и видимости пакета".
Обзор видимости пакета
Пакеты можно опубликовать в общедоступный репозиторий (общедоступные пакеты), чтобы предоставить общий доступ к все GitHub, или в частном репозитории (частные пакеты), чтобы поделиться с коллегами или организацией.
Сведения о выставлении счетов за GitHub Packages
За использование GitHub Packages не взимается плата для общедоступных пакетов. Для частных пакетов каждая учетная запись на GitHub.com получает определенное количество свободного хранилища и передачи данных в зависимости от плана учетной записи. Использование с превышением предусмотренных объемов регулируется предельными суммами расходов. Дополнительные сведения см. в разделе "Сведения о выставлении счетов за GitHub Packages".
Поддерживаемые клиенты и форматы
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 |
Дополнительные сведения о настройке клиента пакета для использования с GitHub Packagesсм. в разделе "Работа с реестром GitHub Packages".
Дополнительные сведения о Docker и Container registryсм. в разделе "Работа с реестром контейнеров".
Проверка подлинности в GitHub Packages
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.
Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.
Вы можете использовать personal access token (classic) для проверки подлинности в GitHub Packages или GitHub API. При создании personal access token (classic)можно назначить маркер различным областям в зависимости от ваших потребностей. Дополнительные сведения о областях, связанных с пакетами, для personal access token (classic), см. в разделе "Сведения о разрешениях для пакетов GitHub".
Для проверки подлинности в реестре GitHub Packages в рабочем процессе GitHub Actions можно использовать следующее:
GITHUB_TOKEN
для публикации пакетов, связанных с репозиторием рабочих процессов.- a personal access token (classic) с по крайней мере
read:packages
областью установки пакетов, связанных с другими частными репозиториями (которыеGITHUB_TOKEN
не могут получить доступ).
Дополнительные сведения об GITHUB_TOKEN
использовании в рабочих процессах GitHub Actions см. в разделе "Автоматическая проверка подлинности токенов".
Управление пакетами
Пакет можно удалить в пользовательском интерфейсе GitHub Enterprise Cloud пользовательского интерфейса или с помощью REST API. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Конечные точки REST API для пакетов](/packages/learn-github-packages/deleting-and-restoring-a-package)". Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета{ .
С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения, область область репозитория, и которые можно использовать с API GraphQL, см. в разделе "Сведения о разрешениях для пакетов GitHub".
При использовании API GraphQL для запроса и удаления частных пакетов необходимо использовать те же personal access token (classic) для проверки подлинности в GitHub Packages.
Дополнительные сведения см. в разделе "Формирование вызовов с помощью GraphQL](/packages/learn-github-packages/deleting-and-restoring-a-package)".
Вы можете настроить веб-перехватчики, чтобы подписаться на события, связанные с пакетом, например на публикацию или обновление пакета. Дополнительные сведения см. в разделе "События и полезные данные веб-перехватчика".
Обращение в службу поддержки
Если у вас есть отзывы или запросы функций для GitHub Packages, используйте обсуждение GitHub Community.
Обратитесь к нам через Портал поддержки GitHub о GitHub Packages, если:
- Вы наблюдаете что-либо, что противоречит документации.
- Возникают непонятные ошибки.
- Ваш опубликованный пакет содержит конфиденциальные данные, такие как нарушения GDPR, ключи API или личные сведения.