GCPのproject切り替えやssh loginを便利にするfish pluginを書いたよ

先日自分のMacをmojavaにしたタイミングでzshからfishに切り替えました。

切り替えたのはいいんだけど、以前使ってたzshのaliasやらスクリプトが使えなくなって業務に支障が出たのでfishでも似たようなもの作ろうかと思ったところ、pluginを作成するのがカジュアルにできるようなので、作ってみました。

よかったら使ってやってください。そしてIssueやPRください。

作ったのは以下2つ。

peco_select_gcp_project: GCPのprojectをpecoで切り替える

github.com

peco_select_gce_ssh: GCEのinstanceをpecoで選択しsshでloginする

github.com

 

それぞれReadmeはあるんですが、簡単な説明や補足などを書いていきます。

 

peco_select_gcp_project とは

GCPを使っていくうえで、複数あるGCP Projectから任意のGCP Projectを選択する場合

  1. gcloud config configurations activate hogehoge で登録済の configuration を切り替える
  2. gcloud config set project = hogehoge で設定している project を切り替える
  3. gcloudコマンド実行時に都度 project=hogehoge を入れる

といった感じで、毎度毎度面倒なのとGCP project名とか覚えてねぇよっていうこともあり、gcloud config configurations list コマンドで出力される登録済みの configurationをpecoで選択してgcloud config configurations activate コマンドに渡すfish pluginを作成しました。

peco_select_gcp_project ってコマンド名も長いので gpj でaliasを設定しています。

また、Ctrl + g -> (Ctrl押さないで)p で実行できるようkeybindを設定しています。

confrictしちゃったり気に入らなければファイル弄って変えてやってください。

 

peco_select_gce_ssh とは

構築済みGCEにsshでログインする際に gcloud compute ssh hogehoge って書くのは面倒だし、instance名忘れたりauto scaleで作られたinstanceの名前なんかそもそも知らないしということで、こいつも gcloud compute instances list コマンドで出力されるinstanceをpecoで選択してgcloud compute sshコマンドに渡すfish pluginを作成しました。

こちらも例によってaliasとkeybindを設定しています。気に入らなかったらファイルを編集して変えて使ってください。

 

その他

自分の環境はfisherは入れてますがoh-my-fishは入れてませんので動作確認しておりません。

fish自体触るのが初めてだったので諸々勉強しつつ手探りだったのですが、plugin作成の際には yoshiori/fish-peco_select_ghq_repository を参考にさせていただきました。ありがとうございました。

 

そんな感じです。以上!