GIT_SSH を利用してbitbucketからチェックアウト

Pocket

こんにちわ、北川です。

git の GIT_SSH を利用する機会がありましたのでご紹介したいと思います。

GIT_SSH

git のドキュメントにも記載されていますが、GIT_SSH 環境変数にラッパースクリプトを指定すると
git fetch , git push の際にラッパースクリプトが実行されます。

http://git-scm.com/docs/git#_other

通常、gitで別名の公開鍵を指定してやる場合など .ssh/config に指定する場合が多いと
思いますが、GIT_SSH を利用することで .ssh/config が利用できない環境で.ssh/config
と同等の設定が可能になります。

準備

サンプルとして bitbucket の gitリポジトリから チェックアウトしてみたいと思います。

前提として、bitbucketに 正しく公開鍵がセットされている必要があります。
正しくセットされていると ssh 接続すると下記のようになります。

.ssh/config で設定

.ssh/configで設定する場合は、 .ssh/config に鍵の場所を記載します。

チェックアウトが成功すると下記のサンプルのようになります。

GIT_SSH のテストもしたいので config を削除すると失敗します。

GIT_SSHで設定

まずは、GIT_SSH環境変数に指定するラッパースクリプトを作成します。

ラッパースクリプトが出来たら GIT_SSH という名前で環境変数として指定します。

指定できたら config と同じように チェックアウトすると成功しました。

まとめ

今回、GIT_SSH を利用したのは OpenShift で、.ssh/config に権限がなかったので
代替手段として GIT_SSH を利用しました。ドキュメントにも記載さてれいましたが
通常は config でよいと思いますが、GIT_SSH も合わせて知っているとイザという時に
役に立つかもしれません。

Pocket

Comments are closed, but you can leave a trackback: Trackback URL.