{"meta":{"title":"Подключение репозитория к пакету","intro":"Вы можете подключить репозиторий к пакету на GitHub.","product":"GitHub Packages","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/packages","title":"GitHub Packages"},{"href":"/ru/enterprise-cloud@latest/packages/learn-github-packages","title":"Изучение GitHub Packages"},{"href":"/ru/enterprise-cloud@latest/packages/learn-github-packages/connecting-a-repository-to-a-package","title":"Подключение репозитория"}],"documentType":"article"},"body":"# Подключение репозитория к пакету\n\nВы можете подключить репозиторий к пакету на GitHub.\n\nПри публикации пакета, ограниченного личная учетная запись или организацией, пакет по умолчанию не связан с репозиторием. При подключении пакета к репозиторию целевая страница пакета будет отображать сведения и ссылки из репозитория, такие как README. Вы также можете выбрать, чтобы пакет наследовал разрешения на доступ из связанного репозитория. Дополнительные сведения см. в разделе [Настройка управления доступом и видимости пакета](/ru/enterprise-cloud@latest/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility).\n\n## Подключение репозитория к пакету с областью действия пользователя на GitHub\n\n1. В GitHub перейдите на главную страницу личной учетной записи.\n\n2. В правом верхнем углу GitHubщелкните рисунок профиля, а затем щелкните **профиль**.\n\n   ![Снимок экрана: раскрывающееся меню в @octocatразделе \"Изображение профиля\". \"Ваш профиль\" очертается в темно-оранжевый цвет.](/assets/images/help/profile/profile-button-avatar-menu-global-nav-update.png)\n\n3. На странице профиля в заголовке щелкните вкладку **\"Пакеты\" <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-package\" aria-label=\"package\" role=\"img\"><path d=\"m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z\"></path></svg> Packages** .\n\n4. Найдите и выберите имя пакета, который требуется управлять.\n\n5. В разделе версий пакета щелкните **Подключить репозиторий**.\n\n6. Выберите репозиторий, чтобы связаться с пакетом, а затем нажмите кнопку **\"Подключить репозиторий**\".\n\n## Подключение репозитория к пакету в области организации на GitHub\n\n1. В GitHub перейдите на главную страницу вашей организации.\n2. Под именем организации щелкните вкладку **\"Пакет\" aria-hidden=\"true\" aria-label=\"package\" %} \"Package** \".\n\n   ![@octo-orgСнимок экрана: страница профиля. Вкладка \"Пакеты\" выделена оранжевым контуром.](/assets/images/help/package-registry/org-tab-for-packages-with-overview-tab.png)\n3. Найдите и выберите имя пакета, который требуется управлять.\n4. В разделе версий пакета щелкните **Подключить репозиторий**.\n5. Выберите репозиторий, чтобы связаться с пакетом, а затем нажмите кнопку **\"Подключить репозиторий**\".\n\n## Подключение репозитория к образу контейнера с помощью командной строки\n\n> \\[!NOTE]\n> При публикации пакета, связанного с репозиторием, пакет автоматически наследует разрешения доступа связанного репозитория, а рабочие процессы GitHub Actions в связанном репозитории автоматически получают доступ к пакету, если ваша организация не отключила автоматическое наследование разрешений доступа. Дополнительные сведения см. в разделе [Настройка управления доступом и видимости пакета](/ru/enterprise-cloud@latest/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#about-inheritance-of-access-permissions).\n\n1. В Dockerfile добавьте эту строку, заменив `OWNER` и `REPO` на свои сведения:\n\n   ```shell\n   LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO\n   ```\n\n   Например, если вы являетесь пользователем `octocat` и владельцем `my-repo` — это строка в Dockerfile:\n\n   ```shell\n   LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo\n   ```\n\n   Дополнительные сведения см[](https://docs.docker.com/engine/reference/builder/#label). в официальной документации Docker и [предварительно определенных ключах](https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys) заметок в репозитории`opencontainers/image-spec`.\n\n2. Соберите образ контейнера. В этом примере создается образ из файла Dockerfile в текущем каталоге и присваивается имя образа `hello_docker`.\n\n   ```shell\n   docker build -t hello_docker .\n   ```\n\n3. При необходимости просмотрите сведения о созданном образе Docker.\n\n   ```shell\n   $ docker images\n   > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE\n   > hello_docker        latest      142e665b1faa   5 seconds ago   125MB\n   > redis               latest      afb5e116cac0   3 months ago    111MB\n   > alpine              latest      a6215f271958   5 months ago    5.29MB\n   ```\n\n4. Назначьте имя и назначение размещения для образа Docker.\n\n   ```shell\n   docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG\n   ```\n\n   Замените `NAMESPACE` именем личная учетная запись или организации, для которой требуется область действия пакета.\n\n   Например:\n\n   ```shell\n   docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest\n   ```\n\n5. Если вы еще не сделали этого, выполните проверку подлинности, чтобы войти в Container registry. Дополнительные сведения см. в разделе [Работа с реестром контейнеров](/ru/enterprise-cloud@latest/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry).\n\n   ```shell\n   $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin\n   > Login Succeeded\n   ```\n\n6. Отправка образа контейнера в Container registry\n\n   ```shell\n   docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG\n   ```\n\n   Например:\n\n   ```shell\n   docker push ghcr.io/octocat/hello_docker:latest\n   ```\n\n## Отмена связывания репозитория из пакета на GitHub\n\n> \\[!NOTE]\n> Отмена связывания пакета из репозитория приведет к удалению сведений о репозитории с целевой страницы пакета и может повлиять на шаблон доступа в зависимости от того, наследует ли пакет разрешения на доступ из репозитория. Дополнительные сведения см. в разделе [Настройка управления доступом и видимости пакета](/ru/enterprise-cloud@latest/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#about-inheritance-of-access-permissions). Это поведение не применяется к пакетам Apache Maven, как описано в [Сведения о разрешениях для пакетов GitHub](/ru/enterprise-cloud@latest/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages).\n\n1. На сайте GitHub перейдите на страницу параметров пакета, которую вы хотите отменить связь.\n\n2. На странице параметров пакета вы увидите раздел источника репозитория. Если этот раздел отсутствует, пакет в настоящее время не связан с репозиторием.\n\n3. Щелкните значок корзины в правом верхнем углу раздела источника репозитория.\n\n> Возможно, что исходный раздел репозитория существует, но значок корзины отсутствует. Это связано с тем, что источник репозитория определен как часть упаковаемого кода, т. е. `package.json` файла, `.gemspec` однако он не связан с репозиторием на GitHub. Чтобы связать пакет с репозиторием, необходимо выполнить действия, описанные в приведенном выше разделе.\n\n1. Убедитесь, что вы хотите отменить связь репозитория с пакетом с диалогом.\n\n## Перенос пакета в другой репозиторий\n\nЕсли у вас есть пакет, связанный с репозиторием, и вы хотите связать его с другим репозиторием, это можно сделать, развязав пакет из текущего репозитория и связав его с новым репозиторием.\n\n1. Выполните действия, чтобы отменить связь с ним, см [. статью \"Отмена связывания репозитория из пакета\" на GitHub](/ru/enterprise-cloud@latest/packages/learn-github-packages/connecting-a-repository-to-a-package#unlinking-a-repository-from-a-package-on-github).\n2. Выполните действия, чтобы связать пакет с новым репозиторием, см [. статью \"Подключение репозитория к пакету с областью организации\" на GitHub](/ru/enterprise-cloud@latest/packages/learn-github-packages/connecting-a-repository-to-a-package#connecting-a-repository-to-an-organization-scoped-package-on-github) или [подключение репозитория к пакету с областью пользователя на GitHub](/ru/enterprise-cloud@latest/packages/learn-github-packages/connecting-a-repository-to-a-package#connecting-a-repository-to-a-user-scoped-package-on-github)."}