【Rails】【Git】Railsルートディレクトリにあるおばけファイルたち!
一度投稿した記事ですが、ハロウィーンという事で再度、投稿しました。
おばけネタですし。。。
おばけファイル1
.gitignore
用途
Git用のファイルであり、git管理対象外を指定する際に使用します。
メリット
productionモードとdevelopmentモードで設定が違うファイルを
区別する時に便利です。
例:config/database.yml
*ローカル環境とテスト環境、本番環境でそれぞれデータベース名が違うということや、ログインユーザーが違うといったことなどでこのあたりはトラブる原因になります。
対象外とした方が無難です。
.gitignoreにおいての恐怖体験
いきなりこける
https通信をする際に「config/initializers/local.rb」を修正し、
git対象としなければならなかったのですが、
がっつり記載していたため、gitの対象外となり、
本番環境にpushしても反映されず、気づくのが遅れてこけました。
(プロトコルエラーになってから気がつきました)
おばけファイル2
Gemfile
用途
Bundler用。インストールするgemの指定に使用します。
メリット
railsで使用するnokogiriやmysqlを動かすgemを個別に指定しなくても
bundle installコマンドで一気に取得出来ます。
Gemfileにおいての恐怖体験
いきなりこける
railsアプリのバージョンを考慮し各々、gemのバージョンを指定しないと
bundle installを実行すると最新版を取得してしまい、
アプリ上で動かないgemが多発しこける。
おばけファイル3
Gemfile.lock
用途
開発環境と運用環境とで同じ gem をインストールするために使います。
メリット
「開発環境と運用環境とで同じ gem をインストール」することが出来るため、
確実動作が期待されるアプリに有効です。
Gemfile.lockにおいての恐怖体験
無限apache再起動不能
Gemfile.lockが.gitignoreに含まれており、「git対象外」となり、
デフォルト権限がroot権限のみ書き込み可能だった場合、
root以外のユーザーではアクセスすることが出来ない場合がある。
その状態でroot以外のユーザーがサーバーの再起動(sudo /etc/init.d/apache2 restart)
を行うと失敗となる。
(サーバー再起動時に書き込みを行うため)
いかがだったでしょうか?
今年のハロウィーンをハッピーで終わらせるためにも
確認しておきましょう!
Happy Halloween!
個人的な写真:
弊社では一部、ハロウィーン仕様になっています。