Skip to main content

Conectar um repositório a um pacote

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

Quem pode usar esse recurso?

O GitHub Packages está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub Enterprise Server 3.0 ou superior.
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 "Planos 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.

  6. Selecione um repositório para vinculá-lo ao pacote e clique em Conectar 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.

  5. Selecione um repositório para vinculá-lo ao pacote e clique em Conectar 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á esta linha ao seu 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