LoginSignup
0
0

Posit Cloud (旧RStudio Cloud)とGitHubの連携

Last updated at Posted at 2024-05-07

Posit Cloud(旧RStudio cloud)とGitHubの連携で色々とハマったけど、最終的にうまく連携できるようになったので、連携方法をメモ書き。

参考にしたのはこのYouTube動画

まずはGitHubでRepositoryを作成

既にRepositoryがあるならこれは飛ばしてよい

作成出来たらhttps://github.com/<username>/<Repository_Name>をコピー

Posit CloudでNew Projectを作成

「New Project from Git Repository」を選択
image.png

「URL of your Git Repository」に先ほどコピーしたURLを貼り付けて「OK」をクリック。

暫くすると(ちょっと時間がかかって、画面が白くなったりして焦るが気長に待つ!)、Repositoryからファイル一式がクローンされる。

とりあえずCommitしてPush(弾かれる)

最初のPushについてはアカウントの入力がもとめられる。まずは普通に<username>を入れればよい。
ついで「パスワードの入力」が求められる。この「パスワード」という文言が落し穴なのだが、普通にGitHubのパスワードを入力しても以下のような表示がでて弾かれてしまう。

image.png

2行目のURLが長すぎて読みにくいのだが、この表示の中のエラーメッセージには、「2021年8月13日でパスワードでの認証はサポートされなくなった。現在の推奨の認証方法についての情報はhttps://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urlsを見てくれ」と書いてある。

ということでアクセスしてみると、Pesonal Access Token を作って、そのTokenをパスワードとして書き込めとのこである。

image.png

Personal Access Tokenの作成

ということでTokenの作成である。
GitHubの自分のページの右上にある自分のアカウントのアイコンをクリック

「Settings」をクリック

左のメニューの一番下にある「<> Developer Settings」をクリック

左のメニューの一番下にある「Personal Access Token」をクリック

「Fine-grained tokens」と「Tokens (classic)」とがあるが、Fine云々の方はよくわからなかったので、とりあえずToken (Classic)を選択。

「Generate new Token」を選択して、さらに「Generate new Token (Classic)」を選択

NoteにTokenの識別名を入力し、Expiration(有効期限)と、Tokenでアクセスできる範囲(Scope)の設定をする。
とりあえずScopeは「repo」にチェックをつけた

「Generate token」をクリックすると、画面にトークンが表示されるので、長ったらしいTokenをコピー。
image.png

改めてPush

改めてPushすると、さっきと同じように、とパスワードを聞かれるので、パスワードに先ほどコピーしたトークンを貼り付けて「OK」。

これでGitHub上のRepositoryに変更内容がPushされるようになる。

今後

一度これを通すと、とりあえず当面は改めてパスワードが求められなくなる。
ただ、Tokenに有効期限があるので、有効期限が切れるとパスワードが通らんくなるのではないかと思われる。

実際にはSessionが切れると、またTokenの入力が求められた。どうやらユーザ名とTokenはSession単位でしか保持されないようだ。

入力を求められるたびに毎回Tokenを作るというわけにはいかないので、一度作ったTokenをPositCloud上にPAT.txtとか名前のファイルを作って保存した上で、そのファイルは.gitignoreに入ることにした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0