Repo2docker-action: Ejemplo de lluvia de ideas de Repo2Docker

Creado en 18 may. 2020  ·  5Comentarios  ·  Fuente: jupyterhub/repo2docker-action

Planeo desarrollar un poco más los documentos en este repositorio para agregar ejemplos relevantes que ilustren casos de uso prácticos para usar repo2docker

  1. Haga que Actions comente con una insignia de Binder automáticamente en un PR, o con un comando chatops que corresponda a la rama a la que se hace referencia en el PR. Esto es para que los revisores puedan acceder fácilmente a un cuaderno en vivo para revisar los cuadernos en el PR con solo un clic. Se verá algo como esto:

    image

  2. Inicie automáticamente cuadernos cuando se abre un PR o con un comando chatops en el gradiente del espacio de

    Un boceto aproximado es algo como esto

    ...
      - 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. Lanzamiento de imágenes de repo2docker en las principales nubes: GCP, AWS, Azure y tal vez FloydHub

    Un boceto aproximado se ve así en 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. Ejemplos con espacios de código


Otras ideas: TBD

@betatim , @willingc @neovintage ¿ alguna otra idea? Las posibilidades son tan emocionantes, ¡me encantarían tus ideas y pensamientos!

help wanted

Comentario más útil

Siguiendo la sugerencia de @psychemedia

¿Alguien tiene algún proveedor de nube favorito o servicio de alojamiento para Notebooks desde contenedores que no sean Binder? Los más fáciles de usar que pude encontrar son Paperspace y Google Cloud mencionados anteriormente.

Hay otros paradigmas sin severidad, pero no siempre se ajustan muy bien a los portátiles. Sería genial si las principales nubes ofrecieran Binder-as-a-service para casos de uso privados.

Con respecto a la idea del complemento, esto es muy natural en la forma en que funcionan las acciones y las personas pueden simplemente apilar acciones para lograr el flujo de trabajo que desean. Podría hacer que la funcionalidad "implementar contenedor de notebook en X" sea una acción separada para que las cosas sigan siendo modulares ...

Todos 5 comentarios

El comando de publicación datasette [ código ] compila y envía un contenedor que contiene una instancia de dataset a varios hosts en la nube en línea.

¿Sería útil proporcionar algo así en esta acción o quizás como parte repo2docker [@betatim]?

También me pregunto si esa receta de publicación podría extraerse en otra acción de Github, o en el contexto de repo2docker, un paquete de estilo de complemento que lo convertiría en formas de adoptar en otros proyectos. (Datasette ya utiliza un modelo plugin, por ejemplo. (Aquí son @simonw 's notas iniciales sobre speccing un modelo plugin.)

Siguiendo la sugerencia de @psychemedia

¿Alguien tiene algún proveedor de nube favorito o servicio de alojamiento para Notebooks desde contenedores que no sean Binder? Los más fáciles de usar que pude encontrar son Paperspace y Google Cloud mencionados anteriormente.

Hay otros paradigmas sin severidad, pero no siempre se ajustan muy bien a los portátiles. Sería genial si las principales nubes ofrecieran Binder-as-a-service para casos de uso privados.

Con respecto a la idea del complemento, esto es muy natural en la forma en que funcionan las acciones y las personas pueden simplemente apilar acciones para lograr el flujo de trabajo que desean. Podría hacer que la funcionalidad "implementar contenedor de notebook en X" sea una acción separada para que las cosas sigan siendo modulares ...

@hamelsmu No es una aplicación empresarial, pero sería genial ofrecer algo como esto integrado con el aula de GitHub. Un gran caso de uso de Binder es la realización de talleres / reuniones / tutoriales más pequeños utilizando cuadernos.

¡esto sería genial! JupyterLab en realidad tiene un pequeño bot que agrega enlaces de Binder a sus PR, tal vez valga la pena preguntarles cómo funciona, por ejemplo: https://github.com/jupyterlab/jupyterlab/pull/8410#issuecomment -626757346

@choldgraf Ya tengo algo para este hecho que funciona en este repositorio, ¡pero

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

choldgraf picture choldgraf  ·  8Comentarios

robertodr picture robertodr  ·  13Comentarios

hamelsmu picture hamelsmu  ·  6Comentarios

MichalMichalak picture MichalMichalak  ·  3Comentarios

troyengel picture troyengel  ·  3Comentarios