Skip to main content

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

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

Кто может использовать эту функцию?

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

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

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

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

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

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

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

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

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

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

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

  2. Под именем организации щелкните вкладку "Пакет" aria-hidden="true" aria-label="package" %} "Package ".

    @octo-orgСнимок экрана: страница профиля. Вкладка "Пакеты" выделена оранжевым контуром.

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

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

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

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

Примечание.

Container registry в настоящее время находится в public preview для GitHub Enterprise Server и подлежит изменению.

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

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

    LABEL org.opencontainers.image.source=http://HOSTNAME/OWNER/REPO
    

    Например, если вы являетесь пользователем octocat и владельцем my-repo, а имя узла GitHub — github.companyname.com — это строка в Dockerfile:

    LABEL org.opencontainers.image.source=http://containers.github.companyname.com/octocat/my-repo
    

    Дополнительные сведения см. в официальной документации 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 containers. HOSTNAME/NAMESPACE/NEW_IMAGE_NAME:TAG
    

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

    Например:

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

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

    docker push containers. HOSTNAME/NAMESPACE/IMAGE-NAME:TAG
    

    Например:

    docker push containers.github.companyname.com/octocat/hello_docker:latest
    

Отмена связывания репозитория из пакета на GitHub

Примечание.

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

  1. На сайте GitHub перейдите на страницу параметров пакета, которую вы хотите отменить связь.

  2. На странице параметров пакета вы увидите раздел источника репозитория. Если этот раздел отсутствует, пакет в настоящее время не связан с репозиторием.

  3. Щелкните значок корзины в правом верхнем углу раздела источника репозитория.

Возможно, что исходный раздел репозитория существует, но значок корзины отсутствует. Это связано с тем, что источник репозитория определен как часть упаковаемого кода, т. е. package.json файла, .gemspec однако он не связан с репозиторием на GitHub. Чтобы связать пакет с репозиторием, необходимо выполнить действия, описанные в приведенном выше разделе.

  1. Убедитесь, что вы хотите отменить связь репозитория с пакетом с диалогом.

Перенос пакета в другой репозиторий

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

  1. Выполните действия, чтобы отменить связь с ним, см . статью "Отмена связывания репозитория из пакета" на GitHub.
  2. Выполните действия, чтобы связать пакет с новым репозиторием, см . статью "Подключение репозитория к пакету с областью организации" на GitHub или подключение репозитория к пакету с областью пользователя на GitHub.