Ruby on Rails → Git (Bitbucket) → Herokuのデプロイまで。
なんか色々とおそ松様でしたので、改めて動作をまとよう。
これ何回も何回もするわけでないから、忘れそうだし。
自分のために。誰かに説明するときのために。
第1章 ゼロからデプロイまで | Rails チュートリアル
0.全てを削除。
まずはここからだよね・・・今まで作ったの削除しなきゃ。
0-1.
プロジェクトフォルダを全て削除。
何っ!?管理者権限が必要だって?
うまく削除出来ないので、エディタ(Atom)から強制削除。
0-2.
作成したSSHファイルを削除。
C:\Users\俺の名前\.ssh
で、sshのファイルにアクセス。
作ったのは、bitbucketのフォルダなので、それを削除。
0-3.
BitbucketとHerokuの削除。
それぞれログインして、連結しているものを削除する。
Herokuはアプリを削除。
よし、準備完了・・・!多分。
1.Ruby on Railsをインストール
作りたいフォルダのところを右クリック、Git bush Hereで開く。
hogehogeが一般らしいので、俺は gerogeroにして見る。
- rails new gerogero
...インストール完了したな!
- cd gerogero
- rails s
で早速ウェーイが出ているか確認するのだ。
ミッションコンプリート。次の作戦実行に移る。
2.Bitbucketと接続
さて、前回のめちゃくちゃな記事を参考にしつつ進めて見よう。
・・・無駄話が多いし、読みにくい。
まず、下記のサイトを参考にして進めていく。
2-1 SSH鍵の登録
C:\Users\俺の名前\.ssh
でファイルにアクセスして、フォルダを作る。
gerogero フォルダ。
そのフォルダにアクセスして、右クリックで git bush here!
前回ここのメールアドレスを、Bitbucketと違うメールアドレスにしたため、問題が発生したので、今回はちゃんと入力するぜ。
なになに、Enter file in which to save the key (/home/ユーザ名/.ssh/id_rsa):とな
ここも、最初入力に手こずったが、赤太文字の部分まで入力して、その後に作成したフォルダ名を追加して入力してあげればOK。
これの場合は、
となる。
id_rsaの部分も設定可能だと思うけど、変なエラー出ても嫌だし、怖いからやめとこ。
通常Insertでペーストだが、Shift+Insertでペーストできるぞ。
あとは、エンター2回でスキップ。
・・・ふぅ。エラーが出ちまったぜ。
何度貼り付けてもNG。手入力でやってみるか・・・成功。
ペーストすると何故かエラーがでる意味不明だったので、タイピングして入力しましょう。
.ssh/gerogero フォルダに、 id_rsa と id_rsa.pub の二つのファイルを確認し、成功!
2-1 公開鍵をBitbucketに登録
参照URLを確認して進めていく。
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にデプロイ
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にSQLiteをPostgreSQLにするための設定を行う。
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で開発をしていって・・・。
がんばりますか。