Repo2docker-action: MyBinder ainda cria a imagem, em vez de puxá-la

Criado em 29 mar. 2021  ·  13Comentários  ·  Fonte: jupyterhub/repo2docker-action

Olá, obrigado por esta ação realmente legal!
Não tenho certeza se isso é um bug com a ação ou um bug com o meu uso dela.
Eu usei a ação com sucesso no passado, mas no momento não consigo fazê-la funcionar corretamente com este repo: https://github.com/ENCCS/veloxchem-workshop O fluxo de trabalho incluindo a ação passa e a imagem é carregada e publicamente visível: https://github.com/orgs/ENCCS/packages/container/package/veloxchem-workshop No entanto, MyBinder.org sempre o reconstruirá do zero, então deve haver algo errado em minha configuração.

bug

Todos 13 comentários

Obrigado por abrir sua primeira edição neste projeto! Engajamento como esse é essencial para projetos de código aberto! :abraços:

Se você ainda não fez isso, verifique o Código de Conduta da Jupyter . Além disso, tente seguir o modelo de problema, pois ele ajuda outros membros da comunidade a contribuir de forma mais eficaz.
welcome
Você pode conhecer os outros Jovyans entrando em nosso fórum do Discurso . Há também um tópico de introdução onde você pode parar e dizer Olá! :aceno:

Bem-vindo à comunidade Jupyter! : tada:

Eu sei que o Binder usa o repo2docker, que fará a varredura em seu repositório em busca de arquivos de configuração que tenham a seguinte prioridade de compilação

Apenas dando uma olhada rápida em seu repo, parece que você tem outros arquivos de compilação lá que farão um sinal para o Binder compilar, em vez de usar sua imagem. Não tenho certeza se há uma maneira de dizer ao Binder que você deseja construir o Dockerfile como a primeira prioridade. @choldgraf , você tem alguma ideia para isso?

Oh minhas desculpas tive um pequeno mal-entendido.

Parece que você está tentando forçar o MyBinder a construir uma imagem para forçá-la a armazenar em cache a imagem. Lembre-se de que, se o seu repo tiver commits adicionais, o cache será invalidado. Além disso, isso está sujeito à capacidade e às regras de cache do MyBinder, que podem mudar com o tempo.

Isso não deve estar relacionado de forma alguma à sua imagem ser publicamente visível, de acordo com o meu entendimento. Eu marquei um amigo que tem mais informações sobre isso.

Se você tentar apenas usar mybinder.org duas vezes seguidas para iniciar um bloco de notas (não contando com esta ação), ele cria todas as vezes?

Sim - o binder irá reconstruir a imagem com base no hash de confirmação, então se você estiver mudando o repo, uma nova construção irá disparar mesmo se você não estiver mudando um arquivo de configuração

Entendo. No entanto, estou executando novamente esta ação em cada commit. Portanto, se eu esperar que a imagem do Docker seja carregada antes de iniciar o fichário, não devo ver uma inicialização quase instantânea?

hmmm - então a ação repo2docker apenas cria uma imagem e a envia para um repositório, ela não faz nada com o Binder especificamente. Você precisaria configurar um repositório Binder que _puxe_ de onde repo2docker-action está empurrando, e deixar isso estático para que o Binder não o reconstrua a cada vez.

Apenas para verificar se entendi seu último comentário corretamente:

  1. Posso ter um branch / repo separado com environment.yml e a ação enviando para um repositório de pacotes.
  2. O branch principal possui um binder/Dockerfile cujo único conteúdo é a linha FROM repo/package:latest .

@choldgraf @robertodr não, na verdade, esta ação tem a capacidade de armazenar compilações em cache diretamente em MyBinder.org , no entanto, se a ação acabar criando um commit para você, esse cache será invalidado imediatamente.

Vejo que você estava usando o sinalizador errado anteriormente e deveria usar MYBINDERORG_CACHE https://github.com/ENCCS/veloxchem-workshop/commit/eeb4832cd8f8de1400a0a8fe16b113675dd630b2#diff -3f922dcd4f5c4cc80190cbcda1ce9f5f5c4806bcda1ce8cb8cf8cf8cd9cb8cf8cf8cf8cd9ce8cf8c8cd9ce8cf8cb8cd9d9cd9cb6bc3d9f9d9d9dc6bc3d9d9cd6bc8c8d9

Funciona agora?

É MYBINDERORG_CACHE ou BINDER_CACHE junto com MYBINDERORG_TAG ? Parece que está funcionando agora, mas provavelmente é porque eu iniciei os blocos de anotações algumas vezes em uma sucessão curta: facepalm:

@robertodr eu iria com este exemplo do README, desculpe quis dizer TAG, não CACHE

image

@hamelsmu nossa, essa ação é mais legal do que eu me lembrava 😄

Uau, sim, me sinto meio bobo agora ... Acho que tentei fazer com que ele enviasse a imagem para o GHCR e esperava que fosse usado no MyBinder.org automaticamente. Em seguida, tentei consertar isso e confundi os nomes das opções: facepalm:

Como um aparte, a tentativa com BINDER_CACHE funcionou também. No entanto, o repositório específico com o qual estou trabalhando usa LFS para armazenar os notebooks e eles não seriam verificados corretamente.

OK ótimo! Vou encerrar este problema então. Este também foi um bom recapitulativo para mim, já que não leio este repositório há algum tempo.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

choldgraf picture choldgraf  ·  8Comentários

hamelsmu picture hamelsmu  ·  5Comentários

hamelsmu picture hamelsmu  ·  6Comentários

kud picture kud  ·  3Comentários

thienedits picture thienedits  ·  3Comentários