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

Подключение репозитория к пакету

Вы можете подключить репозиторий к пакету на GitHub.com.

GitHub Packages доступен в GitHub Free, GitHub Pro, GitHub Free для организаций, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 или более поздней версии и GitHub AE.

GitHub Packages недоступен для частных репозиториев, принадлежащих учетным записям, которые используют устаревшие планы для каждого репозитория. Кроме того, учетные записи, использующие устаревшие планы для каждого репозитория, не могут получить доступ к реестрам, поддерживающим детализированные разрешения, так как эти учетные записи оплачиваются репозиторием. Список реестров, поддерживающих детализированные разрешения, см. в разделе Сведения о разрешениях для пакетов GitHub. Дополнительные сведения см. в разделе Продукты GitHub.

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

Подключение репозитория к пакету уровня пользователя на GitHub

  1. В GitHub перейдите на главную страницу личной учетной записи.

  2. В правом верхнем углу GitHub.com щелкните фотографию профиля, а затем щелкните Ваш профиль.

    Снимок экрана: раскрывающееся меню под @octocatизображением профиля. "Ваш профиль" выделен темно-оранжевым цветом.

  3. На странице профиля в заголовке щелкните вкладку Пакеты .

  4. Найдите и щелкните имя пакета, которым требуется управлять.

  5. В разделе версий пакета щелкните Подключить репозиторий.

  6. Выберите репозиторий для связывания с пакетом, а затем нажмите кнопку Подключить репозиторий.

Подключение репозитория к пакету уровня организации в GitHub

  1. В GitHub перейдите на главную страницу вашей организации.
  2. Под названием организации щелкните вкладку Пакеты .  @octo-orgСнимок экрана: страница профиля. Вкладка "Пакеты" выделена оранжевым контуром.
  3. Найдите и щелкните имя пакета, которым требуется управлять.
  4. В разделе версий пакета щелкните Подключить репозиторий.
  5. Выберите репозиторий для связывания с пакетом, а затем нажмите кнопку Подключить репозиторий.

Подключение репозитория к образу контейнера с помощью командной строки

Примечание: При публикации пакета, связанного с репозиторием, пакет автоматически наследует разрешения на доступ связанного репозитория, а рабочие процессы GitHub Actions в связанном репозитории автоматически получают доступ к пакету, если только ваша организация не отключила автоматическое наследование разрешений доступа. Дополнительные сведения см. в разделе Настройка управления доступом и видимости пакета.

  1. В Dockerfile добавьте эту строку, заменив OWNER и REPO на свои сведения:

    LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO

    Например, если вы являетесь пользователем octocat и владеете my-repo необходимо добавить следующую строку в Dockerfile:

    LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo

    Дополнительные сведения см. в разделе LABEL в официальной документации по Docker и в разделе Предварительно определенные ключи заметок в репозитории opencontainers/image-spec.

  2. Соберите образ контейнера. В этом примере создается образ из файла Dockerfile в текущем каталоге и присваивается имя образа hello_docker.

    $ docker build -t hello_docker .
  3. При необходимости просмотрите сведения о созданном образе Docker.

    $ docker images
    > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
  4. Назначьте имя и назначение размещения образу Docker.

    $ docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG

    Замените NAMESPACE именем личной учетной записи или организации, к которой требуется указать область действия пакета.

    Пример:

    $ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
  5. Если вы еще не сделали этого, выполните проверку подлинности, чтобы войти в Container registry. Дополнительные сведения см. в разделе Работа с реестром контейнеров.

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
  6. Отправка образа контейнера в Container registry

    $ docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG

    Пример:

    $ docker push ghcr.io/octocat/hello_docker:latest