気ままなつぶやき

おべんきょしたこととか

【GitHubEnterprise】deploykeyを複数リポに適用

したかったの。。。

jenkinsサーバで、複数gitリポのビルドとかしたいし、
マルチプロジェクトだってあるし。。。

でもGitHubEnterpriseの仕様上できない。
お問い合わせしてみたけど、だめですた(つд⊂)エーン

なので、やりかたまとめ。

「project_Aとproject_Bというプロジェクトで、同じdeploy keyを使いたい場合」

1. 鍵を作成

#作る 自分のプロジェクトの名前をつけるとわかりやすいよ。
$ssh-keygen -t rsa -C project_A -f id_rsa_project_A
$ssh-keygen -t rsa -C project_B -f id_rsa_project_B

2.設定追加

#なかったら作ってね^^
$vim ~/.ssh/config
Host projectA.ghe.hogehoge.co.jp
    Hostname ghe.hogehoge.co.jp
    IdentityFile ~/.ssh/id_rsa_project_A
 
Host projectB.ghe.hogehoge.co.jp
    Hostname ghe.hogehoge.co.jp
    IdentityFile ~/.ssh/id_rsa_project_B
#権限変更
$chmod 600 config

こんなかんじ

3. リモートリポジトリの設定変更

##########################
# project_Aの設定
##########################
$cd ~/project_A
#今の設定をチェック
$ git remote -v
origin  git@ghe.hogehoge.co.jp:dummyorg/project_A.git (fetch)
origin  git@ghe.hogehoge.co.jp:dummyorg/project_A.git (push)
#変更
$git remote rm origin
$git remote add origin git@projectA.ghe.hogehoge.co.jp:dummyorg/projectA.git
#変更の確認
$ git remote -v
origin  git@projectA.ghe.hogehoge.co.jp:dummyorg/project_A.git (fetch)
origin  git@projectA.ghe.hogehoge.co.jp:dummyorg/project_A.git (push)
 
##########################
# project_Bの設定
##########################
$cd ~/project_B
#今の設定をチェック
$ git remote -v
origin  git@ghe.hogehoge.co.jp:dummyorg/project_B.git (fetch)
origin  git@ghe.hogehoge.co.jp:dummyorg/project_B.git (push)
#変更
$git remote rm origin
$git remote add origin git@projectB.ghe.hogehoge.co.jpdummyorg/projectB.git
#変更の確認
$ git remote -v
origin  git@projectB.ghe.hogehoge.co.jp:dummyorg/project_B.git (fetch)
origin  git@projectB.ghe.hogehoge.co.jp:dummyorg/project_B.git (push)

あとは鍵をGHEの対象レポのdeploy keyに設定すればOK。