Ruby on Rails → Git (Bitbucket) → Herokuのデプロイまで。

なんか色々とおそ松様でしたので、改めて動作をまとよう。

これ何回も何回もするわけでないから、忘れそうだし。

自分のために。誰かに説明するときのために。

第1章 ゼロからデプロイまで | Rails チュートリアル

0.全てを削除。

まずはここからだよね・・・今まで作ったの削除しなきゃ。

0-1.

プロジェクトフォルダを全て削除。

何っ!?管理者権限が必要だって?

うまく削除出来ないので、エディタ(Atom)から強制削除。

0-2.

作成したSSHファイルを削除。

C:\Users\俺の名前\.ssh

で、sshのファイルにアクセス。

作ったのは、bitbucketのフォルダなので、それを削除。

0-3.

BitbucketとHerokuの削除。

それぞれログインして、連結しているものを削除する。

Bitbucket はリポジトリSSH鍵を削除。

Herokuはアプリを削除。

よし、準備完了・・・!多分。

 

1.Ruby on Railsをインストール

作りたいフォルダのところを右クリック、Git bush Hereで開く。

hogehogeが一般らしいので、俺は gerogeroにして見る。

...インストール完了したな!

で早速ウェーイが出ているか確認するのだ。

ミッションコンプリート。次の作戦実行に移る。

 

2.Bitbucketと接続

bitbucket.org

さて、前回のめちゃくちゃな記事を参考にしつつ進めて見よう。

Bitbucketを利用して、Gitアップロード成功まで

・・・無駄話が多いし、読みにくい。

 

まず、下記のサイトを参考にして進めていく。

qiita.com

 

2-1 SSH鍵の登録

C:\Users\俺の名前\.ssh

でファイルにアクセスして、フォルダを作る。

gerogero フォルダ。

そのフォルダにアクセスして、右クリックで git bush here!

  • ssh-keygen -t rsa -C gerogero@gero.com

前回ここのメールアドレスを、Bitbucketと違うメールアドレスにしたため、問題が発生したので、今回はちゃんと入力するぜ。

なになに、Enter file in which to save the key (/home/ユーザ名/.ssh/id_rsa):とな

ここも、最初入力に手こずったが、赤太文字の部分まで入力して、その後に作成したフォルダ名を追加して入力してあげればOK。

これの場合は、

  • /home/ユーザ名/.ssh/gerogero/id_rsa

となる。

id_rsaの部分も設定可能だと思うけど、変なエラー出ても嫌だし、怖いからやめとこ。

通常Insertでペーストだが、Shift+Insertでペーストできるぞ。

あとは、エンター2回でスキップ。

・・・ふぅ。エラーが出ちまったぜ。

何度貼り付けてもNG。手入力でやってみるか・・・成功。

ペーストすると何故かエラーがでる意味不明だったので、タイピングして入力しましょう。

.ssh/gerogero フォルダに、 id_rsa と id_rsa.pub の二つのファイルを確認し、成功!

 

2-1 公開鍵をBitbucketに登録

参照URLを確認して進めていく。

  • cat ~/.ssh/gerogero/id_rsa.pub | clip

pbcopyが使えなかったので、clipとしている。

Enterを押すと何も無ければOK。結構あっさりしてるよね。

Copy Done!ぐらい書いてくれたっていいんじゃない。

 

2-2 サーバー側の設定

.ssh フォルダの config ファイルをテキストファイルで開く。

本当は、viでする必要があるみたいだけど、まぁOKだよね。

開いたファイルに、下記内容を追記。

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/gerogero/id_rsa
  User git
  Port 22
  TCPKeepAlive yes
  IdentitiesOnly yes

そして接続テスト

  • ssh -T bitbucket.org

logged in as 俺の名前

You can use git or hg to connect to Bitbucket. Shell access is disabled.

と表示されれば、OK!!

今のところ順調!!

 

2-3 Bitbucketでリポジトリを作成

BitbucketのWeb上で新規リポジトリを作成する。

「既にプロジェクトがあります」の部分をクリック。

さっきgit bush hereで立ち上げたものに

Step2の1行目をコピーしておこう!

 

2-4 ローカルリポジトリ作成

Ruby on Railsをインストールしたgerogeroフォルダを開いて、git bush here!

  • git init

を実行で、gitの内容を初期化するらしい。

  • 2-3のStep2で表示された1行目のコード

で、リモートのリポジトリのコピー確認。

  • git remote -v

で紐付けを確認したらOKみたい。

 

2-5 BitbucketにGit push!

 

  • git add -A
  • git commit -m "first upload"
  • git push

 

だと、

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin master

というエラーが出るので、

  • git push --set-upstream origin master

を実行し、

Branch master set up to track remote branch master from origin.

と出ればOK。

その後に、

  • git push

で内容をPushし、WebでBitbucketで作成したリポジトリをみて、最近の活動に fist uploadとあれば、接続完了!!

ーーーーーーーーーーーーーーーーーー

参照していたサイトの通り進めてハマった注意点。

##リモートリポジトリをコピー
$ git remote add origin git@bitbucket.org:test/testrepo.git

という部分が、

  • 2-3のStep2で表示された1行目のコード

となるため、もし参照サイトの通りに進めて、

間違った!1行目のコードを貼り付け、Enter!とした場合。

Please make sure you have the correct access rights
and the repository exists.

 

と出てしまった。

そのため、

  • git remote rm origin

で、一度接続されているリモートを rm(remove)してから対応すればOKだった。

ーーーーーーーーーーーーーーーーーー

3.Herokuにデプロイ

heroku.com

3-1.Herokuツールをインストール

Heroku CLI | Heroku Dev Center

Windows 64bitなので、該当するものを選択してダウンロード。

言われるまま、ハイハイしてインストールを行う。

何かが立ち上がっててインストール出来ない場合は、タスクマネージャーから強制終了するが吉。

  • heroku --version

heroku-cli/5.8.6-061a13c (windows-amd64) go1.7.5

と表示されているので、OK~!

 

3-2.Herokuにログイン

Git bushからログインしようとしたら、できなかったのでWindowsのCMDからログインする。

Login is currently incompatible with git bash/cygwin - Stack Overflow

  • heroku login
  • メアド入力
  • パスワード入力

うぇーい。ログイン完了!


3-3.HerokuにSQLitePostgreSQLにするための設定を行う。

gerogero フォルダの、Gemfileをエディタで開く。

12行目をコメントアウト
#gem 'sqlite3'

38行目移行を

group :development, :test do
  gem 'sqlite3', '1.3.11'
  gem 'byebug',  '9.0.0', platform: :mri
end

group :development do
  gem 'web-console',           '3.1.1'
  gem 'listen',                '3.0.8'
  gem 'spring',                '1.7.2'
  gem 'spring-watcher-listen', '2.0.0'
end

group :production do
  gem 'pg', '0.18.4'
end

に貼り付け直す。

  • bundle install --without production

を実行し、Gitにアップロード。

  • git add -A
  • git commit -m "gem update"
  • git push

Bitbucketの最近の活動でアップロードされているのを確認。

 

3-4.Herokuに新規アプリを作成する。

  • heroku create gerogero_app

前回 gerogero_appと追記し忘れたが故に、ランダムのアプリ名となってしまったので、今回はしっかりと追記。

名前がかぶっていなければ、アプリ作成は完了し、Herokuの方でもそのアプリが表示される。

 

3-4.Herokuにデプロイする

デプロイってなんだよって思って調べてみる。

de・ploy

de = 下に ploy = 策略

という事で、配置するという意味だ。軍事の配置のイメージ。

サイトに、デプロイし、顧客を捕虜にしていくぞっ!ククク。

はい、脱線しましたね。

  • git push heroku master

最初のアップデートが長いので、ドキドキしながら見守る。

お、何もエラーがなさそうだぞ。

早速、WebのHerokuに確認だ!

 

Latest activityを確認するとアップロードされているっぽい!

Open Appから確認!

 

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

 

よし!!これで、成功だ!!!

あとは、Ruby on Railsで開発をしていって・・・。

がんばりますか。