Repo2docker-action: Brainstorming de exemplo do Repo2Docker

Criado em 18 mai. 2020  ·  5Comentários  ·  Fonte: jupyterhub/repo2docker-action

Pretendo dar mais detalhes aos documentos neste repo para adicionar exemplos relevantes que ilustram casos de uso práticos para usar o repo2docker

  1. 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:

    image

  2. 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 }}
    
    
  3. 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
    
  4. Exemplos com espaços de código


Outras ideias: TBD

@betatim , @willingc @neovintage alguma outra ideia? As possibilidades são tão emocionantes, adoraria suas idéias e pensamentos!

help wanted

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

Todos 5 comentários

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á!

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

Questões relacionadas

robertodr picture robertodr  ·  13Comentários

hamelsmu picture hamelsmu  ·  6Comentários

choldgraf picture choldgraf  ·  8Comentários

ignacio82 picture ignacio82  ·  3Comentários

cahi picture cahi  ·  3Comentários