Skip to main content

Conectar um repositório a um pacote

É possível conectar um repositório a uma imagem de contêiner na 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, as contas que usam os planos de legado por repositório não podem acessar o Container registry já que essas contas são cobradas por repositório. Para obter mais informações, confira "produtos de GitHub".

Ao conectar um repositório a um pacote, a página inicial do pacote mostrará informações e links do repositório, como o LEIAME.

Conectar um repositório a um pacote de propriedade 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. Foto de perfil

  3. Na página do seu perfil, no canto superior direito, clique em Pacotes. Opção Pacotes na página de perfil

  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 um pacote de propriedade 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 em Pacotes. Guia Pacotes na página de aterrissagem da organização

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

  4. 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

  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ê fosse o usuário monalisa e o proprietário do my-repo e o nome do host do GitHub.com fosse github.companyname.com, você adicionaria essa linha ao Dockerfile:

    LABEL org.opencontainers.image.source=https://github.com/monalisa/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, revise os detalhes para a imagem do Docker que você deseja marcar.

    $ docker images
    > REPOSITORY                                                    TAG                 IMAGE ID            CREATED             SIZE
    > containers.github.companyname.com/my-org/hello_docker         latest              38f737a91f39        47 hours ago        91.7MB
    > containers.github.companyname.com/my-username/hello_docker    latest              38f737a91f39        47 hours ago        91.7MB
    > hello-world                                                   latest              fce289e99eb9        16 months ago       1.84kB
  4. Marque sua imagem Docker com o nome de imagem desejado e hospedagem de destino.

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

    Por exemplo:

    $ docker tag 38f737a91f39 containers.github.companyname.com/monalisa/hello_docker:latest
  5. Se você ainda não o fez, efetue a autenticação em Container registry. Para obter mais informações, confira "Autenticação no Container registry".

    $ 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/OWNER/IMAGE-NAME:TAG

    Por exemplo:

    $ docker push containers.github.companyname.com/monalisa/hello_docker:latest