Repo2docker-action: MyBinder erstellt das Bild immer noch, anstatt es zu ziehen

Erstellt am 29. MĂ€rz 2021  Â·  13Kommentare  Â·  Quelle: jupyterhub/repo2docker-action

Hallo, danke fĂŒr diese wirklich schöne Aktion!
Ich bin mir nicht sicher, ob dies ein Fehler bei der Aktion oder ein Fehler bei meiner Verwendung ist.
Ich habe die Aktion in der Vergangenheit erfolgreich verwendet, kann sie jedoch derzeit mit diesem Repo nicht richtig zum Laufen bringen: https://github.com/ENCCS/veloxchem-workshop Der Workflow einschließlich der Aktion wird durchlaufen und das Bild wird hochgeladen und öffentlich sichtbar: https://github.com/orgs/ENCCS/packages/container/package/veloxchem-workshop Trotzdem wird MyBinder.org es immer von Grund auf neu aufbauen, also muss etwas in meinem Setup nicht stimmen.

bug

Alle 13 Kommentare

Vielen Dank, dass Sie Ihre erste Ausgabe in diesem Projekt geöffnet haben! Ein solches Engagement ist fĂŒr Open-Source-Projekte unerlĂ€sslich! :Umarmungen:

Wenn Sie dies noch nicht getan haben, lesen Sie den Verhaltenskodex von Jupyter . Bitte versuche auch, der Problemvorlage zu folgen, da sie anderen Community-Mitgliedern hilft, effektiver beizutragen.
welcome
Sie können die anderen Jovyans treffen, indem Sie unserem Diskursforum beitreten . Dort gibt es auch einen Intro-Thread, in dem du vorbeischauen und Hallo sagen kannst! :Welle:

Willkommen in der Jupyter-Community! :tada:

Ich weiß, dass Binder repo2docker verwendet, das Ihr Repository nach Konfigurationsdateien mit der folgenden Build-PrioritĂ€t durchsucht

Wenn Sie nur einen kurzen Blick auf Ihr Repository werfen, scheint es, als hÀtten Sie andere Build-Dateien darin, die Binder signalisieren, zu bauen, anstatt Ihr Image zu verwenden. Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, Binder mitzuteilen, dass Sie das Dockerfile als erste PrioritÀt erstellen möchten. @choldgraf hast du dazu eine

Oh, meine Entschuldigung hatte ein kleines MissverstÀndnis.

Anscheinend versuchen Sie, MyBinder zu zwingen, ein Bild zu erstellen, um es zu erzwingen, das Bild zwischenzuspeichern. Bitte beachten Sie, dass der Cache ungĂŒltig gemacht wird, wenn Ihr Repository zusĂ€tzliche Commits enthĂ€lt. Dies unterliegt auch der Caching-KapazitĂ€t und -Regeln von MyBinder, die sich im Laufe der Zeit Ă€ndern können.

Dies sollte nach meinem VerstĂ€ndnis ĂŒberhaupt nicht damit zusammenhĂ€ngen, dass Ihr Bild öffentlich sichtbar ist. Ich habe einen Freund markiert, der mehr Ahnung davon hat.

Wenn Sie versuchen, einfach zweimal hintereinander mybinder.org zu verwenden, um ein Notebook zu starten (ohne sich auf diese Aktion zu verlassen), wird es jedes Mal erstellt?

Ja - Binder erstellt das Image basierend auf dem Commit-Hash neu. Wenn Sie also das Repository ĂŒberhaupt Ă€ndern, wird ein neuer Build ausgelöst, auch wenn Sie keine Konfigurationsdatei Ă€ndern

Ich verstehe. Ich fĂŒhre diese Aktion jedoch bei jedem Commit erneut aus. Wenn ich also warte, bis das Docker-Image hochgeladen wurde, bevor ich Binder starte, sollte ich dann nicht einen fast sofortigen Start sehen?

hmmm - die repo2docker-Aktion erstellt also nur ein Image und schiebt es in ein Repository, sie macht nichts speziell mit Binder. Sie mĂŒssten ein Binder-Repository konfigurieren, das von ĂŒberall her _pullt_, wo repo2docker-action pusht, und dieses statisch belassen, damit Binder es nicht jedes Mal neu erstellt.

Nur um zu ĂŒberprĂŒfen, ob ich Ihren letzten Kommentar richtig verstanden habe:

  1. Ich kann einen separaten Branch/Repo mit environment.yml und die Aktion wird an ein Paket-Repository ĂŒbertragen.
  2. Der Hauptzweig hat ein binder/Dockerfile dessen einziger Inhalt die Zeile FROM repo/package:latest .

@choldgraf @robertodr nein diese Aktion hat tatsĂ€chlich die Möglichkeit, Builds direkt in MyBinder.org zwischenzuspeichern . Wenn die Aktion jedoch einen Commit fĂŒr Sie erstellt, wird dieser Cache sofort ungĂŒltig gemacht.

Ich sehe , dass Sie die falsche Flagge zuvor wurden mit und Sie sollten MYBINDERORG_CACHE verwenden https://github.com/ENCCS/veloxchem-workshop/commit/eeb4832cd8f8de1400a0a8fe16b113675dd630b2#diff -3f922dcd4f5c4cc190cda1ceef3c699d6267fbf980f1bb8c5dfceebaec9db038

Funktioniert es jetzt?

Ist es MYBINDERORG_CACHE oder BINDER_CACHE zusammen mit MYBINDERORG_TAG ? Es sieht so aus, als ob es jetzt funktioniert, aber wahrscheinlich liegt es daran, dass ich die Notebooks ein paar Mal kurz hintereinander gestartet habe :facepalm:

@robertodr Ich wĂŒrde mit diesem Beispiel aus der README gehen, sorry meinte TAG nicht CACHE

image

@hamelsmu wow diese Aktion ist cooler als ich sie in Erinnerung hatte

Wow, ja, ich komme mir jetzt ziemlich albern vor... Ich glaube, ich habe versucht, es dazu zu bringen, das Bild ins GHCR zu verschieben, und erwartete, dass es automatisch auf MyBinder.org verwendet wird. Dann habe ich versucht, das zu beheben und die Optionsnamen verwechselt :facepalm:

Übrigens hat auch der Versuch mit BINDER_CACHE funktioniert. Das spezifische Repository, mit dem ich arbeite, verwendet jedoch LFS, um die Notebooks zu speichern, und sie wĂŒrden nicht ordnungsgemĂ€ĂŸ ausgecheckt.

okay super! Dann schließe ich dieses Thema. Dies war auch eine gute Auffrischung fĂŒr mich, da ich mir dieses Repo seit einiger Zeit nicht mehr angeschaut habe.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen