目的
AWSの前にSqaleで良いじゃない!!
詳しい情報が無いので公開しました。デプロイしたいなーでもサーバー怖いなーなこれからの方に対する共有です。(デプロイ怖いがなくなるとハッピーですね)
ターミナルでの公開鍵の設定
1ターミナルで公開鍵のあるファイルに移動する
$ cd ~/.ssh => ls => [id_rsa id_rsa.pub key_backup known_hosts]
・id_rsaとid_rsa.pubに違い
公開鍵 id_rsa
秘密鍵 id_rsa.pun
2公開鍵のファイル => id_rsaを開き内容をコピー
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC38uTdwyOJ05DfE1w1k5BCIuH0ldeYS5y2H30pjardvxNXajtQupQmsVP/qqaebO3MPBuLrkJV3isl7ocvfFtjf09rBhIBFmo3QcoC9YGqxnRKerywzD+SsPdHRhzB6mjAIU5j67UFriWr+JoLobyOk8IdkK9ILpBdVtSHKa+mJqsoryCZyejJKhy6PqwxzgFtxyaFZNXW2WmC/8ghMnLR2pcmi4qK5VtVxQIKJ/lTUoi7Q2fmbkQmbAh22P0ztW4AEirX4L2iMDLjvnX797McpQ7mmhjaoqIfTgmkEC9KZjz8wKtTWpHSDEKloLZt0TulaSy8WA0yw436OHGTfkLN
3Sqaleにログインして公開鍵の設定ページへ移動
4クリップボードの内容(コピぺしたものを)ペーストして「登録する」ボタンを押します。
5公開鍵一覧に追加されているなら、公開鍵の登録完了!
公開鍵暗号(public key encryption system)に関して
公開鍵 公開鍵サーバーなどに登録して誰でもダウンロードできる。
秘密鍵 誰にも知らせないように保管しておく秘密の鍵
公開鍵と秘密鍵はペアの鍵で、お互いに関係はあるけれど公開鍵をいくら調べても秘密鍵がどうなっているのかわからない。
秘密鍵で暗号化した文書は公開鍵でないと元に戻せない、逆に公開鍵で暗号化することもできるけれど、それは秘密鍵でないと元に戻せないという仕組みを作っています。
参照URL http://www.infonet.co.jp/ueyama/ip/glossary/public_key.html
新規プロジェクトを作成
2GitのURLをコピー
アプリケーションの作成が開始されるとダッシュボードに現在の状況が表示されます
アプリケーションの作成が完了すると、上記のようにURLやGitの情報が表示されます。
Gitに右に表示されているCloneの値をコピーします
作成済みのアプリケーションの場合
Step1 作成したアプリケーションのディレクトリに移動
cd myprojects/pin_board1
Step2 SqaleのGit urlをリモートリポジトリとして設定するコマンドを実行
git remote add sqale ssh://sqale@gateway.sqale.jp:2222/rudiments/sheet.git
すると
fatal: remote sqale already exists.
こうなる場合があります。
なので
git remote rm リモートリポジトリの名前 ~> 今回はsqale
とすることで、現在のリモートリポジトリを削除できます。
ポイント
アプリケーション作成時の名前がそのままアドレスに使われるので不適当な名前をつけない。hogehogeなど。
Step3 GemfileをSqale用に変更する
変更前
gem 'sqlite3' #これは任意のGemで良い
変更後
group :development do
gem 'sqlite3'
end
group :production do
gem 'mysql2'
end
問題発生
bundle install mysql2が通らないエラーが発生。
brew install mysqlを実行。成功!
gem 'pg'は使えないらしい、Railsチュートリアルのアプリは上げれないね。まああっちはHerokuだしいいのか。さて。
Step4 Gemfile.lockを更新してgit commitする
$ bundle install
$ git add Gemfile gemfile.lock
$ git commit -m "update dependency"
Step5 コードを保存してSqaleサーバにアップロードする
ダッシュボードのアプリケーション詳細からたどることができる共有データベース情報を確認し、データベースの情報を config/database.ymlに書き込む
database.yal形式でコピーでコピーして、自身のファイルにペースト。
$ git add config/database.yml
$ git commit -m "update database configuration."
$ git push sqale master
Step6 データベースのアプリケーションで必要なテーブルを作成する
ダッシュボードの [アプリケーション一覧](https://sqale.jp/dashboard) から作成したアプリケーションの【詳細】ボタンをクリック、その後【アプリケーションの操作】タブをクリックし、【マイグレーションの実行】の【実行する】ボタンをクリックすると、マイグレーションが実行されます。マイグレーションの実行後は【アプリケーションを再起動する】ボタンを押してアプリケーションを再起動してください。
Step7 ブラウザでアプリケーションにアクセスする
$ open "http://repogee-app-repogee.sqale.jp/"
基本形
http://アプリ名-ユーザー名.sqale.jp/
僕の場合
http://sheets-rudiments.sqale.jp/
Step8 確認してみる
googleしてみる。すると..
こうなります。