2011-10-07 14:08:32 +0900
herokuコマンドで複数アカウントを使いわける
heroku
コマンドで複数のHerokuアカウントを使い分けられるようにするために、Herokuの人謹製のheroku-accountsプラグインをインストールしてみた。
インストール
heroku
コマンドでheroku-accounts
プラグインをインストールする。
$ heroku plugins:install git://github.com/ddollar/heroku-accounts.git
heroku-accounts installed
アカウントの追加
アカウントの追加はaccounts:add
サブコマンドで行う。
$ heroku accounts:add アカウント名
アカウント名は、herokuコマンドがアカウントを識別するための名前となる。
入力するメールアドレスとパスワードは、あらかじめHerokuに登録してあるアカウントのもの。
$ heroku accounts:add personal
Enter your Heroku credentials.
Email: junyaogura@gmail.com
Password:
Add the following to your ~/.ssh/config
Host heroku.personal
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY
IdentitiesOnly yes
認証情報は~/.heroku/accounts/アカウント名
というYAMLファイルに格納される。
また、この時に表示される設定内容を~/.ssh/config
に追記する必要がある(IdentityFile
の値はHerokuアカウントと関連付ける秘密鍵ファイルのパスにすること)。
現在のアカウントを確認する
$ git config heroku.account
personal
アカウントの一覧
登録したアカウントの一覧はaccounts
サブコマンドで表示できる。
$ heroku accounts
* personal
corporate
アスタリスクの付いたアカウントが現在アクティブ(herokuコマンドの操作対象)なアカウント。
アカウントの削除
$ heroku accounts:remove アカウント名
デフォルトアカウントの設定
herokuコマンドがデフォルトで使用するアカウントはaccounts:default
サブコマンドで設定する。
$ heroku accounts:default アカウント名
これを実行すると~/.gitconfig
に以下のようなエントリが追加される。
[heroku]
account = アカウント名
秘密鍵の管理
アカウントで使用する秘密鍵を登録または削除するには、以下のようにする。
$ heroku keys
No keys for john@example.com
$ heroku keys:add ~/.ssh/john.pub
Uploading ssh public key /Users/juno/.ssh/john.pub
$ heroku keys
=== 1 key for john@example.com
ssh-rsa AAAAB3NzaC...yPq3uBNuvj john@example.com
$ heroku keys:remove
Key removed.
プロジェクト毎にアカウントを設定する
各プロジェクト毎に利用するHerokuアカウントを設定するには、プロジェクトのディレクトリでaccounts:set
サブコマンドを実行する。
$ heroku accounts:set アカウント名
これによって、プロジェクトの.git/config
に以下のエントリが追加される。
[heroku]
account = アカウント名