KOSEN{BLOG}について

JupyterLab と GitHub の連携方法

前回の記事JupyterLab に Gitを導入する手順でGitを導入したので次はJupyterLabとGithubを連携したいと思います。

公開鍵・秘密鍵の作成

公開鍵と秘密鍵を作成する。

$ cd .ssh
$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa):#パスフレーズ
/Users/xxxx/.ssh/id_rsa already exists.

私は既に作っていたのでその旨のログが出ました。

GitHubに公開鍵を保存する

公開鍵を作成したので、その公開鍵をGitHubに保存します。

https://github.com/settings/keys

GitHubのSSHを設定するページを開きます。

Titleを設定→任意 (ex: id_rsa.pub)

Keyを設定→公開鍵の内容をコピペ ssh-rsa XXXXXXXXX

公開鍵の内容を調べるコマンドは以下の通り

$ cat id_rsa.pub
ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXX

これをそのままコピペしてください。

新しいレポジトリを作成

JupyterLabと連携をするための新しいレポジトリを作成してください。

GitHubの準備はここまでです。

次は,JupyterLabの設定です。


JupyterLabでターミナルを開く

メニューバーのGitからOpen Git Repository in Terminal

gitの設定を更新する

gitの所有者が誰なのかを設定する。git configを使用します。 既に設定している人は飛ばしてください。

$ git config --global user.name "XXXX"
$ git config --global user.email "XXXX@gmail.com"

git configは、どのようにGitが機能するか制御できる設定をすることができます。

今回の例はユーザーの名前とメールの設定。

SSHの設定をする

~/ .ssh / configのファイルを変更して、sshの設定を変更します。

open ~/.ssh/config

ファイルが存在しない場合

$ touch ~/.ssh/config

SSH Configファイルを編集

~/.ssh/configファイルを開いたら、以下の内容に編集して保存

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

これで、次に行う設定ができるようになります。

ssh-agentに鍵の登録

鍵を作成したら、ssh-agentに鍵を渡します。

ssh-agentの詳しい説明は、ssh-agentを利用して、安全にSSH認証を行うの記事が参考になりました。

ssh-agentに値を渡すコマンドは以下のように書きます

$ ssh-add -K [鍵の場所]

つまり、

$ ssh-add -K ~/.ssh/id_rsa

Enter passphrase for /Users/xxxx/.ssh/id_rsa:  #Gitのパスフレーズを入れる
Identity added: /Users/xxxx/.ssh/id_rsa (XXXX@gmail.com)

ssh-agentにMacに鍵が登録され、次回以降も自動で呼び出されるようになります。

ssh-agentに鍵の登録できたか確認

$ ssh-add -l
4096 SHA256:XXXXXXX/XXXXXXXXXXXX/XXXX XXXXXX@gmail.com (RSA)

JupyterLabでGitHubを使う

cloneする

GitHub上

GitHubで新しく作成したレポジトリのSSH keyをコピー

clone

JupyterLab上

メニューバー→Gitclone→先ほどコピーしたSSH keyをペースト

cloneが成功したら、次はpushできるか試す。

Pushできるか試す

jupyterlab で commit

commitするために新しいファイルを作成 FileNewNotebookを追加

JupyterLabでcommit

Untitled.png

jupyterlabでpush

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e8b72b5f-573e-4b53-8fbd-3aa793c09793/_2020-08-23_23.18.39.png

リロードボタンを押した後に、↑印の雲マーク(push)を押せばpushできます。

最後に

JupyterLabのGitHub連携情報が少なかったので記事を書いてみました。

JupyterLabはまだ発展途上のサービスですのでリロードをきちんと行えていないと、GitHubとの通信でバグが起きたりします。Git・GitHubなどの外部サービスを使う時はリロードは必ずやってくださいね!

ではまた!

参考文献

jupyterlabとgithubを連携させよう!

ノートブックを GitHub に保存する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です