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.

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

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

Общие сведения о разрешениях пакета

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

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

Пакеты можно опубликовать в общедоступный репозиторий (общедоступные пакеты), чтобы предоставить общий доступ к все пользователи предприятия, или в частном репозитории (частные пакеты), чтобы поделиться с коллегами или организацией.

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

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

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

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

Note

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

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

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

Note

GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе «Управление личными маркерами доступа».

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

Вы можете использовать personal access token (classic) для проверки подлинности в GitHub Packages или GitHub Enterprise Server 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 Server пользовательского интерфейса или с помощью REST API. Дополнительные сведения см. в разделе [AUTOTITLE и Конечные точки REST API для пакетов](/packages/learn-github-packages/deleting-and-restoring-a-package).{ % else %}. Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета{ .

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

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

Дополнительные сведения см. в разделе [AUTOTITLE и Формирование вызовов с помощью GraphQL](/packages/learn-github-packages/deleting-and-restoring-a-package).

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

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

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