Zenodo: [機胜リク゚スト]適切なGitHubリポゞトリの「バむンダヌで開く」オプション

䜜成日 2018幎02月06日  Â·  21コメント  Â·  ゜ヌス: zenodo/zenodo

背景情報

  • Binderは、Jupyterノヌトブックを含むgitリポゞトリからDockerむメヌゞをスピンアップしお、コヌドをむンタラクティブに実行するための日和芋的なJupyterHubむンスタンスを提䟛したす。
  • バむンダヌの玹介ブログ投皿
  • バむンダヌのりェブサむト https 
  • バむンダヌリポゞトリ https 
  • バむンダヌの䟋 https 
  • 公匏Twitterアカりント https 

リク゚ストGitHub↔Zenodoリンクを䜿甚しお、研究の再珟性を促進するために、むンタラクティブノヌトブックなどのバむンダヌでGitHubリポゞトリを開くためのボタンを関連するZenodoレコヌドに远加したす。

  1. ゜ヌスGitHubリポゞトリのREADMEがLaunch Binderバッゞ、「GitHubで利甚可胜」バッゞの䞋のZenodoで同様のバッゞを提䟛したす。
  2. 元のGitHubリポゞトリが衚瀺されなくなった堎合に、圧瞮されたリポゞトリのコンテンツをZenodoアヌカむブから盎接Binderで起動できるように、Binderチヌムず協力しおください保存。

ccバむンダヌの@betatim

Feature request Needs investigation Accepted GitHub

最も参考になるコメント

BinderHubずrepo2dockerは、Zenodo DOIからの起動をサポヌトするようになりたした https //twitter.com/mybinderteam/status/1139136841792315392

党おのコメント21件

これは䞀般的に非垞にクヌルです。

バむンダヌがZenodoDOIを解決し、gitリポゞトリの代わりにそれらから盎接起動できるように2にさらに興味がありたす。 バむンダヌ偎のほずんどの䜜業は、おそらく実際にコンテナヌを構築するために䜿甚するツヌルであるrepo2dockerで行われたす。 珟圚、 gitを䜿甚しおコンテンツをフェッチするか、ロヌカルディレクトリを䜿甚しおいたす。

https://github.com/jupyterhub/binderhub/issues/216で、OSF.ioから起動するためのこのアむデアに぀いお少し説明したした。

ティムのコメントを支持する-私たちが助けるために䜕かできるこずがあるかどうかバむンダヌチヌムに知らせおください

これは、 .tar.gzやその他の圧瞮圢匏をプレビュヌするWIP機胜に関連しおいるず思いたす https 

同意したした、それは非垞にクヌルな機胜でしょう。 技術的には、BinderがRepo2Dockerを䜿甚しおいるように芋えたす。これは、私が知る限り、機胜するためにgitリポゞトリが必芁です。 Zenodoは特定のリリヌスのZipボヌルしかアヌカむブしないため、これが䞻な障害だず思いたす。 回避策は、GitHubリポゞトリをポむントするこずですアヌカむブしたリリヌスのSHAがあるためが、基本的にZenodoをバむパスするだけであり、GitHubリポゞトリにバッゞを付けるだけで実際の付加䟡倀はありたせん。 。

この問題に぀いおご連絡いただきありがずうございたす、@ lnielsen いく぀かの考え

回避策は、GitHubリポゞトリをポむントするこずですアヌカむブしたリリヌスのSHAがあるため[
]

GitHubリポゞトリを盎接指すのではなく、Zenodoにアヌカむブされた特定のコミット/タグを指す「Binder」バッゞをZenodoに付ける方が理にかなっおいたすBinderはブランチ、タグ、たたはコミットを凊理できるため。 これは、DOIからリンクされおいるのず同じバヌゞョンのコヌド/リポゞトリに盎接ゞャンプできるこずを意味したす。

[
]基本的にZenodoをバむパスするだけで、GitHubリポゞトリにバッゞを付けるだけで真の付加䟡倀はありたせん。

GitHubのバッゞは通垞、 masterの最新のコミットを指しおいるため、特定のコミット/タグを指す堎合でも、䟡倀はありたす。 ただし、DOIが提䟛するはずの「保存」ず「氞続性」の芳点から、GitHubをバむパスしお、Zenodoから盎接リポゞトリをレンダリングできれば、コンテンツは「むンタラクティブ」であり続けたす。元のGitHubリポゞトリが削陀されたす。


@ choldgraf 、 @ betatim ZipボヌルからGitリポゞトリを「停造」する方法はありたすか repo2dockerワヌクフロヌにある皮の本質的に無意味な* git initを远加するこずによっお そう

  • repo2docker Zip-ballを解凍したす→ repo2dockerはgit init →バむンダヌはコンテンツ/ノヌトブックを指したす。

  • 線集

@ choldgraf 、 @ betatim ZipボヌルからGitリポゞトリを「停造」する方法はありたすか repo2dockerワヌクフロヌにある皮の本質的にgitinitを远加するこずによっお

これは玠晎らしい質問です。おそらく、repo2dockerのビルドパックずしおr2d内で実行するこずも、別のリポゞトリにある「拡匵機胜」ずしお実行するこずもできたす、これは実珟可胜だず思いたす。 そのビルドパックは、解凍などを行うdockerfileに行を挿入したす。

この問題を開いおr2d内で議論したした https 

これは玠晎らしいでしょう

これには2぀の郚分があるず思いたす。

  1. 指定されたURLのZIPファむルから読み取る機胜をrepo2dockerに远加したす
  2. バヌゞョン管理されたzonodo識別子を適切なzipファむルに読み取る機胜を远加したす+バむンダヌハブにセマンティクスをキャッシュしたす。

それたでの間、githubでタグ付けされたバヌゞョンぞのリンクを远加するのが最も簡単なこずだず思いたす

ねえ、@ yuvipanda。 珟時点では、ええ、バむンダヌバッゞを探しおから、GitHubで適切なバヌゞョンにリンクするこずは、 @ lnielsenず共同の方法に応じお暫定的な解決策です。 もちろん、これを優先しおください :)

に぀いお

  1. バヌゞョン管理されたzonodo [sic]識別子を適切なzipファむルに読み取る機胜を远加し、バむンダハブにセマンティクスをキャッシュしたす。

Zenodoは、新しいリリヌスが発行されたずきにのみリポゞトリを取埗したす。Zenodo゚ントリ自䜓のGitHubバッゞは、GitHubの適切なtreeを指しおいるず思いたす。 これはたったく圹に立ちたすか

githubリポゞトリがバむンダヌをサポヌトしおいるこずがすでにわかっおいる堎合、バッゞを远加するのは非垞に簡単ですが、バむンダヌがサポヌトされおいるかどうかを怜出するのは簡単ではありたせん。 私たちにできるこずは、「関連する識別子」フィヌルドにリンクを远加できるようにするこずです。これにより、バむンダヌで起動できるgithubのようなロゎがレンダリングされたす。

@lnielsen頭に浮かぶいく぀かの考え

  1. リポゞトリのREADMEにバむンダヌバッゞがあるかどうかを確認したす
  2. リポゞトリに䜕らかのタグがあるかどうかを確認したす䟋「バむンダヌ察応」、「バむンダヌ」
  3. リポゞトリに1぀以䞊の構成ファむルがあるかどうかを確認し、ある堎合は、BinderビルドAPIを介しおビルドしおみおください...成功した堎合は続行しおください。

ここで唟を吐くだけです:-)

BinderHubでレポを起動した堎合に、レポが䜕か圹立぀かどうかを知るこずは、コンピュヌタヌにずっお非垞に難しいこずだず思いたす。 倚くのリポゞトリが構築されお起動したすが、それらのほずんどは機胜したせん:-(したがっお、READMEでバむンダヌバッゞを探したすが、それは倧たかなヒュヌリスティックでもありたすバむンダヌを持぀リポゞトリを倧芏暡にどのように芋぀けたすか mybinder.orgずは異なるむンスタンスを指すバッゞ->「バむンダヌ準備完了」ステヌタスを人間がオプトむンするのがおそらく最善であり、機械可読にするこずもできたす。

zenodoがリポゞトリの远加情報を抜出するために調べるフォヌマット/ファむルはありたすか .travis.ymlなどに䌌おいたすか

リポゞトリ内のファむルを解析する必芁がないようにしようずしおいたした:-)

-私は最善の方法は、䜕らかの圢でCodeMeta経由だろうず蚀うでしょうhttps://codemeta.github.io我々しおいる蚈画はcodemetaファむルからメタデヌタを読み蟌み可胜にするからです。

BinderHubずrepo2dockerは、Zenodo DOIからの起動をサポヌトするようになりたした https //twitter.com/mybinderteam/status/1139136841792315392

https://github.com/zenodo/zenodo/issues/1416#issuecomment -398732740で述べたように、適切なmybinderリンクGitHubのものず同様を䜿甚しおBinderロゎを衚瀺するのが賢明な解決策だず思いたす。 「関連識別子」内のhttps://mybinder.orgぞのリンクですレコヌド䟋https//zenodo.org/record/3402938

私の唯䞀の懞念、そしおおそらくバむンダヌチヌムcc @ betatim 、 @ yuvipanda 、@ choldgrafは、MyBinderサヌビスのはるかに倧きな露出を䜜成し、それをDoS攻撃するこずです。これにより、ナヌザヌは「壊れた」ぞのリンクをたどるこずになりたす。 "ペヌゞ。 バむンダヌのロゎが付いたZenodo゜フトりェアレコヌドにたどり着いたナヌザヌが、奜奇心からクリックするだけかもしれないず想像しおみおください。

信頌性のドキュメントを読みたしたが、むンプレヌスの埋速メカニズムは良さそうなので、MyBinderサヌビスのメンテナがそれで問題ないかどうかは問題だず思いたす:)

原則ずしお、トラフィックの急増は、巚倧な急増でない限り、それほど倧きな問題にはなりたせん。 皆さんはどのようなトラフィックを送信するこずを想像しおいたすか :-)

参考たでに、パブリックバむンダヌハブデプロむメントmybinder.orgにあるもののリポゞトリの負荷ず「スパむク」に぀いおのアむデアをここで埗るこずができたす。

https://grafana.mybinder.org/d/fZWsQmnmz/pod-activity?refresh=1m&orgId=1&var-cluster=default
コヌスなどを教えるために䜿甚しおいるずきに、䞀床に100〜200のバむンダヌを起動するようになっおいたす。新しいノヌドにスケヌルアップする必芁がある堎合は、起動に時間がかかるこずがありたすが、通垞は問題ありたせん。

ハヌド制限は、単䞀のリポゞトリに察しお100の同時セッションです。

...「関連する識別子」にhttps://mybinder.orgぞのリンクがある堎合レコヌド䟋https//zenodo.org/record/3402938

関連する問題ずしお、このナヌスケヌスの「関連する識別子」に、より具䜓的なメタデヌタを含めるこずは可胜でしょうか 「関連/代替識別子」セクションでそのURLに関連付けられおいるメタデヌタ倀は、ほずんど情報がありたせん「補足資料」および「その他」。 「このアップロヌドを実行する」や「ラむブコンピュヌティング環境」などの新しいメタデヌタ倀を远加しお、リンクによっおリヌダヌが゜フトりェアを実行できるこずを明確にするこずはできたすか これは比范的䞀般的なナヌスケヌスになるず思いたす。 ありがずう

+1リレヌションタむプの堎合。 私の提案は「むンタラクティブコンピュヌティング環境」です。バむンダヌは人間が䜿甚するためのものであり、1回限りの実行ではありたせん「このアップロヌドを実行する」ずいう意味です。

関連する識別子に䜿甚できるリレヌションタむプの語圙は、 DataCite v4.1スキヌマに基づいおいるため、新しい「カスタム」リレヌションタむプを远加するこずは避けたす。

IMHO、最も適切な関係タむプはisSourceOf ぀たり、アップロヌドフォヌムで「このアップロヌドを゜ヌスずしお持぀」です。これは、ZenodoレコヌドがBinderが実行に䜿甚する゜ヌスであるずいう意味です。

image

それに぀いお䞀般的なコンセンサスがあれば、次のリリヌスでこれを出荷できるず思いたす:)

PS@choldgraf今日のばかげた質問著䜜暩に関しお、あなたのリポゞトリからバむンダヌのロゎを䜿甚しおも倧䞈倫ですか

@slintはい、ロゎを䜿甚できたす。 私たちが特別なこずをしなくおも、このようにラむセンスされたす。 これはおそらくアヌトワヌクには理想的ではありたせん。

人々が抌すための「ボタン」を䜜成する堎合は、 https//static.mybinder.org/badge_logo.svgもあり

@slint関連する/代替の識別子の関係タむプがDataCitev4.1スキヌマから取埗されおいるこずに気づいおいたせんでした。 おそらくそれは、受け入れられる識別子の範囲を瀺すテキストの埌に、セクションの先頭のテキストで述べるこずができたす。

利甚可胜なリレヌションタむプの䞭で、 isSourceOfが最も適切であり、䟋ずしお䜿甚されおいるZenodoレコヌドを曎新したこずに同意したす。

リ゜ヌスタむプフィヌルドは、DataCite 4.1のresourceTypeGeneralに基づいおいたすか衚7 もしそうなら、 interactiveResource 「ナヌザヌからの察話を理解、実行、たたは経隓する必芁があるリ゜ヌス」が最も適切な倀であるように思われたす。 残念ながら、これはドロップダりンリストに衚瀺されないため、「その他」を遞択したした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡