herokuにあるsinatraアプリをcloneしてデプロイするまで

はじめに

HerokuというPaaSがあります.
RubyでいえばSinatraRuby on Railsのアプリを簡単に公開できるサービスです.

個人的には,ハッカソンやアプリコンテストなどのAPIサーバー代わりに使っています.

heroku上にアプリがあるが,公開鍵をなくしてしまった時,ソースコードを取得してデプロイするまでを書きます.
(Macクリーンインストールしたため)

前提

Macのユーザー名 : nzw
herokuアプリ名 : hogehoge

手順

Herokuに登録してある鍵を破棄します.

heroku keys:clear

heroku用の新しい鍵を作ります.

>pwd
/Users/nzw/.ssh
> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/nzw/.ssh/id_rsa): heroku
~~~

herokuという名前の鍵を作りました.

configファイルに追加します.

Host github.com
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/github_rsa

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket
  User git

# ここから追加
Host heroku.com
  Hostname heroku.com
  port 22
  IdentityFile ~/.ssh/heroku

作成した鍵をherokuに登録します.

> heroku keys:add
Could not find an existing public key at ~/.ssh/id_rsa.pub
Would you like to generate one? [Yn]

「id_rsa.pubがないけど作る?」
と聞かれるので「n」をタイプすると以下のように聞かれます.

Found the following SSH public keys:
1) bitbucket.pub
2) github_rsa.pub
3) heroku.pub
Which would you like to use with your Heroku account?

heroku.pubなので「3」をタイプすると公開鍵の登録が完了します.

> git clone git@heroku.com:hogehoge.git

ソースコードを取得できます.

bundle installなどで開発時の環境に合わせればあとはgit pushなどでherokuにデプロイできます.