こんにちは、MLBお兄さんこと松村です。
TDL*1 を終えたニューヨーク・ヤンキースは突然の絶不調。勝率ガタ落ちです。未だ地区首位であることだけが救いです。涙
今回は GitHub Codespaces に自分の dotfiles をインストールする手順を紹介します。
GitHub Codespaces とは
GitHub Codespaces とは、 GitHub のサイト上で Visual Studio Code の開発環境が利用できる機能です。
現在は GitHub Team や GitHub Enterprise Cloud 、ベータ版を使用している個人ユーザーもいます。
GitHub Codespaces を起動すると Linux VM が実行され、プリインストールされた Visual Studio Code を利用することができます。
起動時に指定した GitHub リポジトリを編集することができます。
dotfiles とは
dotfiles とは .bashrc
や .gitconfig
など、ドット .
で始まるファイル群を管理するリポジトリのことです。
メインが Windows PC な私にとってはそこまで馴染みがあるわけではないのですが、WSL2 を使うということもあり、自分用の dotfiles リポジトリを作っています。
Codespaces に dotfiles を使用する
自分のアカウント設定から Codespaces の設定画面に移り、使用したい dotfiles リポジトリを指定するだけで設定完了です。
その他、Codespaces のパーソナライズについては下記ドキュメントに記載されています。
指定した dotfiles リポジトリは Codespaces 環境の作成時に自動的にクローンされ、リポジトリに含まれる下記のいずれかのファイルが実行されます。
install.sh
install
bootstrap.sh
bootstrap
script/bootstrap
setup.sh
setup
script/setup
正しく dotfiles リポジトリが展開されたことを確認するには、Codespaces の Visual Studio Code で「作成ログ (Creation Log)」を確認すると良いです。
VSCode のコマンドパレットからログを確認することができます。
dotfiles の展開に失敗した場合
例えばシェルファイルが実行形式のパーミッションでない場合は、このような作成ログとなります。(最後の方に載っています)
2022-08-23 13:18:20.097Z: $ # Clone & install dotfiles 2022-08-23 13:18:20.109Z: Cloning into '/workspaces/.codespaces/.persistedshare/dotfiles'... 2022-08-23 13:18:20.872Z: Error: /workspaces/.codespaces/.persistedshare/dotfiles/install.sh not executable 2022-08-23 13:18:20.890Z: 2022-08-23 13:18:20.903Z: 2022-08-23 13:18:20.915Z: Exit code 126 2022-08-23 13:18:20.927Z: Stop (1508 ms): Run in container: # Clone & install dotfiles
dotfiles の展開に成功した場合
正しく dotfiles リポジトリを展開できた場合は、シェルファイルの実行結果が作成ログに出力されます。
※ログに出力される内容はリポジトリ構成によって異なります。
2022-08-23 13:45:48.822Z: $ # Clone & install dotfiles 2022-08-23 13:45:48.841Z: Cloning into '/workspaces/.codespaces/.persistedshare/dotfiles'... 2022-08-23 13:45:50.041Z: Executing script /workspaces/.codespaces/.persistedshare/dotfiles/install.sh 2022-08-23 13:45:50.064Z: + cp -f ./wsl/.bash_profile /home/codespace/.bash_profile 2022-08-23 13:45:50.090Z: + cp -f ./wsl/.bashrc /home/codespace/.bashrc 2022-08-23 13:45:50.125Z: + cp -f ./wsl/.profile /home/codespace/.profile 2022-08-23 13:45:50.146Z: + cp -f ./wsl/.bash_aliases /home/codespace/.bash_aliases 2022-08-23 13:45:50.175Z: + cp -f ./wsl/.gitconfig /home/codespace/.gitconfig 2022-08-23 13:45:50.191Z: + cp -f ./wsl/.editorconfig /home/codespace/.editorconfig 2022-08-23 13:45:50.207Z: 2022-08-23 13:45:50.224Z: 2022-08-23 13:45:50.240Z: Stop (2525 ms): Run in container: # Clone & install dotfiles
そして環境が起動した段階で dotfiles が適用されているため、自分が普段使っている設定が反映されている状態となります。
azure-static-webapps-samples [main]$ ls total 32 drwxrwxrwx+ 7 codespace root 4096 Aug 24 00:46 . drwxr-xrwx+ 5 codespace root 4096 Aug 24 00:46 .. drwxrwxrwx+ 4 codespace root 4096 Aug 24 00:46 api drwxrwxrwx+ 2 codespace root 4096 Aug 24 00:46 app drwxrwxrwx+ 8 codespace root 4096 Aug 24 00:47 .git drwxrwxrwx+ 3 codespace root 4096 Aug 24 00:46 .github -rw-rw-rw- 1 codespace root 0 Aug 24 00:46 .gitignore -rw-rw-rw- 1 codespace root 436 Aug 24 00:46 readme.md drwxrwxrwx+ 2 codespace root 4096 Aug 24 00:46 .vscode azure-static-webapps-samples [main]$ azure-static-webapps-samples [main]$ git st On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean
dotfiles リポジトリを作っている人にとっては便利な機能ではないでしょうか?
皆さんも使いやすい Codespaces 環境を作りましょう~
*1:トレードデッドライン