Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Введение в GitHub Packages

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

Сведения о GitHub Packages

GitHub Packages — это платформа для размещения пакетов, включая контейнеры и другие зависимости, и управления ими. GitHub Packages объединяет исходный код и пакеты в одном месте, чтобы предоставить возможность интегрированного управления разрешениями, что позволяет централизировать разработку программного обеспечения в GitHub Enterprise Server.

Вы можете интегрировать GitHub Packages с API GitHub Enterprise Server, GitHub Actions и веб-перехватчиками, чтобы создать комплексный рабочий процесс DevOps, включающий решения для разработки кода, непрерывной интеграции и развертывания.

GitHub Packages предлагает различные реестры пакетов для часто используемых диспетчеров пакетов, таких как npm, RubyGems, Apache Maven, Gradle, Docker и NuGet. Дополнительные сведения о различных реестрах пакетов, поддерживаемых GitHub Packages, см. в статье Работа с реестром GitHub Packages.

Схема, показывающая поддержку пакетов для реестра Docker, RubyGems, npm, Apache Maven, Gradle, NuGet и Docker

Вы можете посмотреть файл сведений пакета, а также метаданные, такие как лицензирование, статистику скачиваний, журнал версий, и многое другое для GitHub Enterprise Server. Дополнительные сведения см. в статье "Просмотр пакетов".

Дополнительные сведения о конфигурации GitHub Packages для GitHub Enterprise Server см. в статье Начало работы с GitHub Packages для вашего предприятия.

Обзор разрешений и видимости пакета

РазрешенияРазрешения для пакета либо наследуются из репозитория, в котором размещен пакет, либо могут быть определены для определенных учетных записей пользователей или организаций. Некоторые реестры поддерживают только разрешения, унаследованные от репозитория. Список этих реестров см. в разделе Сведения о разрешениях для GitHub Packages. Дополнительные сведения о доступе к пакету см. в разделе Настройка управления доступом и видимости пакета.
ВидимостьВы можете публиковать пакеты в общедоступном репозитории (общедоступные пакеты), чтобы совместно использовать их со всеми пользователями вашего предприятия, или в частном репoзитории (частные пакеты), чтобы совместно использовать их с участниками совместной работы или с организацией.

Поддерживаемые клиенты и форматы

GitHub Packages использует собственные команды инструментов для работы пакетами, с которыми вы уже знакомы, для публикации и установки версий пакетов.

Поддержка реестров пакетов

ЯзыкОписаниеФормат пакетаКлиент пакета
JavaScriptДиспетчер пакетов узлаpackage.jsonnpm
RubyДиспетчер пакетов RubyGemsGemfilegem
JavaСредство управления и анализа проектов Apache Mavenpom.xmlmvn
JavaСредство автоматизации сборки Gradle для Javabuild.gradle или build.gradle.ktsgradle
.NETУправление пакетами NuGet для .NETnupkgdotnet CLI
Н/ДУправление контейнерами DockerDockerfileDocker

Примечание: При включении реестра Docker настоятельно рекомендуется также включить изоляцию поддомена. Дополнительные сведения см. в разделе Включение изоляции поддомена.

Дополнительные сведения о настройке клиента пакета для использования с GitHub Packages приведены в статье Работа с реестром GitHub Packages registry.

Проверка подлинности в GitHub Packages

Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.

Вы можете использовать personal access token для проверки подлинности в GitHub Packages или GitHub Enterprise Server. При создании personal access token вы можете назначить маркеру различные области в зависимости от ваших потребностей. Дополнительные сведения об областях, связанных с пакетами, для personal access token см. в разделе Сведения о разрешениях для пакетов GitHub.

Для проверки подлинности в реестре GitHub Packages в рабочем процессе GitHub Actions можно использовать следующее:

  • GITHUB_TOKEN для публикации пакетов, связанных с репозиторием рабочих процессов.
  • personal access token с по крайней мере read:packages областью для установки пакетов, связанных с другими частными репозиториями (которые GITHUB_TOKEN не могут получить доступ).

Дополнительные сведения об GITHUB_TOKEN, используемом в рабочих процессах GitHub Actions, см. в разделе Проверка подлинности в рабочем процессе.

Управление пакетами

Пакет можно удалить в пользовательском интерфейсе GitHub Enterprise Server . Для некоторых реестров можете использовать GraphQL для удаления версии частного пакета.

Api GraphQL GitHub Packages нельзя использовать с реестрами, поддерживающими детализированные разрешения. Реестры, которые поддерживают только разрешения на уровне репозитория и могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для GitHub Packages.

При использовании API GraphQL для запроса и удаления частных пакетов необходимо использовать тот же personal access token, который используется для проверки подлинности в GitHub Packages.

Дополнительные сведения см. в статье Удаление и восстановление пакета и Создание вызовов с помощью GraphQL.

Вы можете настроить веб-перехватчики, чтобы подписаться на события, связанные с пакетом, например на публикацию или обновление пакета. Дополнительные сведения см. в статье Событие веб-перехватчика package.

Обращение в службу поддержки

Если вам нужна поддержка для GitHub Packages, обратитесь к своим администраторам.