LoginSignup
28
30

More than 5 years have passed since last update.

Heroku Toolbelt で複数の Heroku アカウントを管理する

Last updated at Posted at 2017-01-29

前提

  • Heroku Toolbelt が事前にインストールしてあること
  • 複数の Heroku アカウントそれぞれで利用する 公開鍵/秘密鍵 が生成してあること
  • 複数の Heroku アカウントそれぞれで Heroku app が作成してあること

heroku-accounts をインストール

1 . 複数のアカウントを切り替え可能にするためのプラグインをインストールします

$ heroku plugins:install heroku-accounts

複数の Heroku アカウントを登録

1 . 管理するアカウントを追加します

  • work という仮想アカウント名で Heroku のアカウントを追加する
    • メールアドレス/パスワードの入力をする
$ heroku accounts:add work
  • private という仮想アカウント名で Heroku のアカウントを追加
    • メールアドレス/パスワードの入力をする
$ heroku accounts:add private

2 . 追加したアカウントを確認します

$ heroku accounts

* private
  work

3 . work アカウントの設定を行います

  • work アカウントに切り替える
$ heroku accounts:set work
  • work アカウントの公開鍵設定を追加する
    • work アカウントで利用する公開鍵を Heroku に登録します
$ heroku keys:add ~/.ssh/work.pub
  • work 仮想アカウントのSSH接続設定を ~/.ssh/config に追記する
    • heroku.[仮想アカウント名] という仮想的な Host を定義する
$ vi ~/.ssh/config

Host heroku.work
    port 22
    HostName heroku.com
    IdentityFile ~/.ssh/work.pem
    User git
    TCPKeepAlive yes
    IdentitiesOnly yes

work アカウントの git リモートリポジトリ接続設定を追加する

  • 下記コマンドで git のリモートリポジトリ接続設定を行う
$ git remote add heroku-work git@heroku.[仮想アカウント名]:[Herokuアプリケーション名].git
  • 仮想アカウントが work で、test-app-work という Heroku アプリケーションだった場合は下記コマンドを実行します
$ git remote add heroku-work git@heroku.work:test-app-work.git
  • リモートリポジトリを確認します
$ git remote -v

...
heroku-work  git@heroku.work:test-app.git (fetch)
heroku-work  git@heroku.work:test-app.git (push)
...
  • work アカウントで git push する場合は下記コマンドを実行します
$ git push heroku-work master

4 . private アカウントの設定を行います

  • private アカウントに切り替える
$ heroku accounts:set private
  • private アカウントの公開鍵設定を追加する
    • private アカウントで利用する公開鍵を Heroku に登録します
$ heroku keys:add ~/.ssh/private.pub
  • private アカウントの秘密鍵を設定する
    • heroku.[仮想アカウント名] という仮想的な Host を定義する
$ vi ~/.ssh/config

Host heroku.private
    port 22
    HostName heroku.com
    IdentityFile ~/.ssh/private.pem
    User git
    TCPKeepAlive yes
    IdentitiesOnly yes

private アカウントの git リモートリポジトリ接続設定を追加する

  • 下記コマンドで git のリモートリポジトリ接続設定を行う
$ git remote add heroku-private git@heroku.[仮想アカウント名]:[Herokuアプリケーション名].git
  • 仮想アカウントが private で、test-app-private という Heroku アプリケーションだった場合は下記コマンドを実行します
$ git remote add heroku-work git@heroku.work:test-app-private.git
  • リモートリポジトリを確認します
$ git remote -v

...
heroku-private     git@heroku.private:test-app-private.git (fetch)
heroku-private     git@heroku.private:test-app-private.git (push)
...
  • private アカウントで git push する場合は下記コマンドを実行します
$ git push heroku-private master
28
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
30