Repo2docker-action: Exemple Repo2Docker Brainstorming

Créé le 18 mai 2020  ·  5Commentaires  ·  Source: jupyterhub/repo2docker-action

Je prévois d'étoffer un peu plus la documentation de ce référentiel pour ajouter des exemples pertinents illustrant des cas d'utilisation pratiques pour l'utilisation de repo2docker

  1. Faites commenter les Actions avec un badge Binder automatiquement sur un PR, ou avec une commande chatops qui correspond à la branche référencée dans le PR. C'est ainsi que les réviseurs peuvent accéder facilement à un bloc-notes en direct pour réviser les blocs-notes dans le PR en un seul clic. ressemblera à quelque chose comme ceci :

    image

  2. Lancez automatiquement les cahiers à l'ouverture d'un PR ou avec une commande chatops sur le dégradé de l' espace papier.

    Un croquis approximatif est quelque chose comme ça

    ...
      - 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. Lancer des images repo2docker sur les principaux clouds : GCP, AWS, Azure et peut-être FloydHub

    Une esquisse ressemble à ceci sur 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. Exemples avec des espaces de


Autres idées : à déterminer

@betatim , @willingc @neovintage d'autres idées ? Les possibilités sont tellement excitantes, j'adorerais vos idées et vos pensées !

help wanted

Commentaire le plus utile

Suite à la suggestion de @psychemedia

Quelqu'un a-t-il des fournisseurs de cloud ou des services d'hébergement préférés pour les ordinateurs portables à partir de conteneurs autres que Binder ? Les plus conviviaux que j'ai pu trouver sont Paperspace et Google Cloud mentionnés ci-dessus.

Il existe d'autres paradigmes sans séparation, mais ils ne s'adaptent pas toujours très bien aux cahiers. Ce serait cool si les principaux clouds offraient Binder-as-a-service pour les cas d'utilisation privés.

En ce qui concerne l'idée du plugin, cela est très naturel dans la façon dont les actions fonctionnent et les gens peuvent simplement empiler des actions ensemble pour obtenir le flux de travail qu'ils souhaitent. Je pourrais faire de la fonctionnalité « déployer un conteneur de bloc-notes sur X » une action distincte afin que les choses restent modulaires...

Tous les 5 commentaires

Le datasette publier commande [ le code ] construit et pousse un récipient contenant une instance de Datasette à divers hôtes nuage en ligne.

Serait-il utile de fournir quelque chose comme ça dans cette action ou peut-être dans le cadre de repo2docker [@betatim].

Je me demande également si cette recette de publication pourrait être extraite dans une autre action Github, ou dans le contexte de repo2docker, un package de style plugin qui permettrait de l'adopter dans d'autres projets ? (Datasette utilise déjà un modèle de plug - in, par exemple. (Voici l » @simonw notes initiales sur speccing un modèle de plug - in.)

Suite à la suggestion de @psychemedia

Quelqu'un a-t-il des fournisseurs de cloud ou des services d'hébergement préférés pour les ordinateurs portables à partir de conteneurs autres que Binder ? Les plus conviviaux que j'ai pu trouver sont Paperspace et Google Cloud mentionnés ci-dessus.

Il existe d'autres paradigmes sans séparation, mais ils ne s'adaptent pas toujours très bien aux cahiers. Ce serait cool si les principaux clouds offraient Binder-as-a-service pour les cas d'utilisation privés.

En ce qui concerne l'idée du plugin, cela est très naturel dans la façon dont les actions fonctionnent et les gens peuvent simplement empiler des actions ensemble pour obtenir le flux de travail qu'ils souhaitent. Je pourrais faire de la fonctionnalité « déployer un conteneur de bloc-notes sur X » une action distincte afin que les choses restent modulaires...

@hamelsmu Ce

ce serait trop cool ! JupyterLab a en fait un petit bot qui ajoute des liens Binder à leurs relations publiques, cela vaut peut-être la peine de leur demander comment cela fonctionne, par exemple : https://github.com/jupyterlab/jupyterlab/pull/8410#issuecomment -626757346

@choldgraf J'ai déjà quelque chose pour ce fait qui fonctionne sur ce dépôt, mais je regarderai au cas où il y aurait des idées supplémentaires là-bas!

Cette page vous a été utile?
0 / 5 - 0 notes