Pretendo dar mais detalhes aos documentos neste repo para adicionar exemplos relevantes que ilustram casos de uso práticos para usar o repo2docker
Faça com que o Actions comente com um crachá Binder automaticamente em um PR, ou com um comando chatops que corresponda ao ramo referenciado no PR. Isso permite que os revisores tenham acesso fácil a um bloco de notas dinâmico para revisar os blocos de notas no PR com apenas um clique. Será mais ou menos assim:
Lance blocos de anotações automaticamente quando um PR é aberto ou com um comando chatops em
Um esboço é algo assim
...
- name: build-environment
id: repo2docker
uses: machine-learning-apps/repo2docker-action
with:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
IMAGE_NAME: "hamelsmu/repo2docker-test"
- name: paperspace-deploy
id: paperspace
run: |
pip install gradient
gradient apiKey ${PAPERSPACE_TOKEN}
gradient jobs create --container ${IMAGE_NAME} --projectId ${PAPERSPACE_PROJECT_ID} --machineType K80 --ports 8888:8888
env:
PAPERSPACE_TOKEN: ${{ secrets.PAPERSPACE_TOKEN }}
PAPERSPACE_PROJECT_ID: ${{ secrets.PAPERSPACE_PROJECT_ID }}
IMAGE_NAME: ${{ steps.repo2docker.outputs.IMAGE_SHA_NAME }}
Lance imagens repo2docker nas principais nuvens: GCP, AWS, Azure e talvez FloydHub
Um esboço aproximado se parece com este no GCP - Google Cloud Functions
....
- uses: exelban/gcloud<strong i="21">@master</strong>
env:
PROJECT_ID: ${{ secrets.GOOGLE_PROJECT_ID }}
APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
IMAGE_NAME: ${{ steps.repo2docker.outputs.IMAGE_SHA_NAME }}
with:
args: --quiet beta run deploy notebook-serve-action --allow-unauthenticated --platform managed --region us-west1 --image $IMAGE_NAME
Exemplos com espaços de código
@betatim , @willingc @neovintage alguma outra ideia? As possibilidades são tão emocionantes, adoraria suas idéias e pensamentos!
O datasette
comando publicar [ código ] constrói e empurra um recipiente contendo uma instância datasette a vários anfitriões nuvem on-line.
Seria útil fornecer algo assim nesta ação ou talvez como parte repo2docker
[@betatim].
Também me pergunto se essa receita de publicação poderia ser extraída em outra ação do Github, ou no contexto do repo2docker, um pacote de estilo de plug-in que seria uma forma de adotar em outros projetos? (datasette já usa um modelo de plugin, por exemplo. (Aqui estão as notas iniciais de @simonw sobre como especificar um modelo de plugin).
Seguindo a sugestão de @psychemedia
Alguém tem algum provedor de nuvem favorito ou serviço de hospedagem para Notebooks de outros contêineres além do Binder? Os mais fáceis de usar que encontrei são o Paperspace e o Google Cloud mencionados acima.
Existem outros paradigmas independentes, mas eles nem sempre se adaptam muito bem aos notebooks. Seria legal se as nuvens principais oferecessem Binder-as-a-service para casos de uso privados.
Em relação à ideia do plug-in, isso é muito natural para a forma como as Ações funcionam e as pessoas podem simplesmente empilhar as ações para atingir o fluxo de trabalho que desejam. Eu poderia tornar a funcionalidade “implantar contêiner de notebook no X” uma ação separada para que as coisas permanecessem modulares ...
@hamelsmu Não é um aplicativo corporativo, mas seria ótimo oferecer algo assim integrado à sala de aula do GitHub. Um grande caso de uso para o fichário é hospedar workshops / reuniões / tutoriais menores usando notebooks.
isso seria tão legal! Na verdade, o JupyterLab tem um pequeno bot que adiciona links do Binder aos seus PRs, talvez valha a pena perguntar a eles como funciona, por exemplo: https://github.com/jupyterlab/jupyterlab/pull/8410#issuecomment -626757346
@choldgraf Já tenho algo feito para isso que funciona neste repo, mas vou dar uma olhada caso haja ideias adicionais lá!
Comentários muito úteis
Seguindo a sugestão de @psychemedia
Alguém tem algum provedor de nuvem favorito ou serviço de hospedagem para Notebooks de outros contêineres além do Binder? Os mais fáceis de usar que encontrei são o Paperspace e o Google Cloud mencionados acima.
Existem outros paradigmas independentes, mas eles nem sempre se adaptam muito bem aos notebooks. Seria legal se as nuvens principais oferecessem Binder-as-a-service para casos de uso privados.
Em relação à ideia do plug-in, isso é muito natural para a forma como as Ações funcionam e as pessoas podem simplesmente empilhar as ações para atingir o fluxo de trabalho que desejam. Eu poderia tornar a funcionalidade “implantar contêiner de notebook no X” uma ação separada para que as coisas permanecessem modulares ...