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
-
No GitHub, acesse a página principal da sua conta pessoal.
-
No canto superior direito do GitHub, selecione sua foto de perfil e selecione Seu perfil.
-
Na página do perfil, no cabeçalho, clique na guia Pacotes .
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Nas versões do pacote, clique em Conectar repositório.
-
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
-
Em GitHub, acesse a página principal da sua organização.
-
No nome da sua organização, clique na guia Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Nas versões do pacote, clique em Conectar repositório.
-
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
Note
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".
-
Em seu Dockerfile, adicione esta linha, substituindo
OWNER
andREPO
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 demy-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
. -
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 .
-
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
-
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
-
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
-
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
Desvinculando um repositório de um pacote no GitHub
Note
Desvincular um pacote de um repositório removerá as informações do repositório da página de chegada do pacote e poderá afetar o padrão de acesso, dependendo se o pacote herda suas permissões de acesso do repositório. Para obter mais informações, confira "Configurando o controle de acesso e visibilidade de um pacote". Esse comportamento não se aplica a pacotes do Apache Maven, conforme esboçado em "Sobre permissões para o GitHub Packages".
-
No GitHub, navegue até a página de configurações do Pacote que você deseja desvincular.
-
Na página Configurações do pacote, você verá uma seção Origem do repositório. Se esta seção não estiver presente, o Pacote não está vinculado a um repositório no momento.
-
Clique no ícone de lixeira no canto superior direito da seção Origem do repositório.
É possível que exista uma seção Origem do repositório, mas nenhum ícone de lixeira. Isso ocorre porque uma origem do repositório foi definida como parte do código empacotado, ou seja, um arquivo
package.json
ou um arquivo.gemspec
, mas ele não está realmente vinculado a um repositório no GitHub. Para vincular o pacote a um repositório, você precisará seguir as etapas na seção acima.
- Confirme que você gostaria de desvincular o repositório do pacote com a caixa de diálogo.
Migrando um pacote para outro repositório
Se atualmente você tiver um pacote vinculado a um repositório e quiser vinculá-lo a um repositório diferente, basta desvincular o pacote do repositório atual e vinculá-lo ao novo repositório.
- Siga as etapas para desvinculá-lo, consulte "Desvinculando um repositório de um pacote no GitHub."
- Siga as etapas para vincular o pacote ao novo repositório, consulte "Conectando um repositório a um pacote no escopo da organização no GitHub" ou "Conectando um repositório a um pacote no escopo do usuário no GitHub".