閲覧ありがとうございます!
先日までDockerでVPSのデプロイ方法を質問させて頂いたのですが、いくら勉強してもdockerでのデプロイ方法が理解できなかったので、一旦docker無しでデプロイを試してみました。
デプロイ環境
ローカル
- Mac OS X Sierra
VPS
- Centos 7
- Rails 5.1
- rbenv
- Ruby 2.4.1
- Puma
- MySQL
- Capistrano
- Nginx
なんとかipアドレスを打てば、アプリケーションを表示することが出来きたので、次はdockerを使って開発環境の構築&デプロイまでの流れを勉強しようと挑戦しましたが、やっぱり理解出来なかったです。。。(なんでスクリプト言語やDBばかりのイメージをコンテナ化していて、osのイメージをコンテナ化しないの?。。。 コンテナ自体linux上で起動しているから、centosやubuntuが必要ない?。。。)
悩んでても仕方がないので、一旦資料が豊富なvagrant virtual boxで開発環境を構築してみました。
開発環境
-
Mac OS X Sierra
-
Vagrant1.9.7
-
Virtualbox 5.1.24
-
Centos 7
-
Rails 5.1
-
rbenv
-
Ruby 2.4.1
-
Puma
-
MySQL
-
Nginx
"Yay! You’re on Rails!"を表示できたので環境開発の構築は出来たと思います?
疑問1:stagingとproductionの使い方
VPSで本番環境を構築中にcap install
するとstaging.rbとproduction.rbが作成され、production.rbは本番環境(VPS)の設定だな!っと考えたのですが、stagingが何をさしているのかが分かりませんでした。vagrantで開発環境を構築してるときに、この開発環境をstagingをさしているのでは?と感じたのですが。。。。
つまり、開発しているアプリケーションをいきなり本番(VPS)にアップするのは危険なので、VPS環境をvagrantで擬似的に作成し、開発中はcap staging deploy
でvagrantで確認し、okならばcap production deploy
でVPSにデプロイする使い分けでよろしいのでしょうか?
vagrantにマウント機能があるので、わざわざgitからpullする必要性がないような。。。。
疑問2:プライベートリポジトリの場合の環境変数の取扱
なんかおかしいなと思いながら、VPSサーバーにmysqlのユーザー名やパスワード、secret_key_baseを直貼りして、一旦アプリケーションをデプロイしてみました。デプロイ後に、ユーザー名やパスワードの取扱について調べたところ、環境変数を使う!と書かれていたのですが、gitで間違えてアップロードしてしまったや、gitignoreに入れ忘れたなど、前提が公開されるgitの場合ばかりでした。Bitbucketのプライベートリポジトリの場合には、環境変数の設定は不要なのですか?
初歩的な質問で申し訳ないのですが、よろしくお願い致します!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/21 07:46
2017/07/21 08:38
2017/07/21 22:52
2017/07/21 23:58 編集
2017/07/22 01:38
2017/07/22 02:10 編集
2017/07/22 05:36
2017/07/22 06:46
2017/07/22 15:17