Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Conectar um repositório a um pacote

É possível conectar um repositório a um pacote no GitHub.com.

O GitHub Packages está disponível com GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 ou superior e o GitHub AE.
O GitHub Packages não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Além disso, contas que usam planos por repositório herdados não podem acessar Registros que dão suporte a permissões granulares, pois essas contas são cobradas pelo repositório. Para ver a lista dos registros que dão suporte a permissões granulares, confira "Sobre permissões para o GitHub Packages". Para mais informações, confira "Produtos do GitHub".

Quando você publica um pacote com escopo para uma conta pessoal ou uma organização, o pacote não é vinculado a um repositório por padrão. Se você conectar um pacote a um repositório, a página de aterrissagem do pacote mostrará informações e links do repositório, como o LEIAME. Você também pode fazer com que o pacote herde as permissões de acesso do repositório vinculado. Para obter mais informações, confira "Configurando o controle de acesso e visibilidade de um pacote".

Conectar um repositório a um pacote com escopo do usuário em GitHub

  1. No GitHub, acesse a página principal da sua conta pessoal.

  2. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Seu perfil.

    Captura de tela do menu suspenso na imagem de perfil do @octocat. "Seu perfil" está contornado em laranja escuro.

  3. Na página do perfil, no cabeçalho, clique na guia Pacotes .

  4. Procure e clique no nome do pacote que deseja gerenciar.

  5. Nas versões do pacote, clique em Conectar repositório. Botão para conectar um repositório na página de aterrissagem de pacotes

  6. Selecione um repositório e clique em Conectar repositório. Botão de conectar um repositório na janela de pop-up de seleção de repositório

Conectar um repositório a um pacote com escopo da organização em GitHub

  1. Em GitHub, acesse a página principal da sua organização.

  2. No nome da sua organização, clique na guia Pacotes. Captura de tela da página de perfil de @octo-org. A guia "Pacotes " é realçada com um contorno laranja.

  3. Procure e clique no nome do pacote que deseja gerenciar.

  4. Nas versões do pacote, clique em Conectar repositório. Botão para conectar um repositório na página de aterrissagem de pacotes

  5. Selecione um repositório e clique em Conectar repositório. Botão de conectar um repositório na janela de pop-up de seleção de repositório

Conectar um repositório a uma imagem de contêiner usando a linha de comando

Observação: se você publicar um pacote vinculado a um repositório, o pacote herdará automaticamente as permissões de acesso do repositório vinculado e os fluxos de trabalho do GitHub Actions no repositório vinculado obterão automaticamente acesso ao pacote, a menos que a sua organização tenha desabilitado a herança automática das permissões de acesso. Para obter mais informações, confira "Configurando o controle de acesso e visibilidade de um pacote".

  1. Em seu Dockerfile, adicione esta linha, substituindo OWNER and REPO pelos seus detalhes:

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

    Por exemplo, se você for o usuário octocat e o proprietário de my-repo você adicionará a seguinte linha ao Dockerfile:

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

    Para obter mais informações, confira "LABEL" na documentação oficial do Docker e "Chaves de Anotação Predefinidas" no repositório opencontainers/image-spec.

  2. Construa a sua imagem do contêiner. Este exemplo cria uma imagem do Dockerfile no diretório atual e atribui o nome hello_docker à imagem.

    $ docker build -t hello_docker .
  3. Opcionalmente, examine os detalhes da imagem do Docker que você acabou de criar.

    $ 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. Atribua um nome e destino de hospedagem à imagem do Docker.

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

    Substitua NAMESPACE pelo nome da conta pessoal ou organização para a qual você deseja que o pacote tenha o escopo definido.

    Por exemplo:

    $ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
  5. Se você ainda não o fez, efetue a autenticação em Container registry. Para obter mais informações, confira "Trabalhando com o registro do Contêiner".

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
  6. Faça push da sua imagem de contêiner para o Container registry.

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

    Por exemplo:

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