0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gitで環境別のコンフィグを管理するベストプラクティス

Last updated at Posted at 2020-08-22

gitで環境別のコンフィグを管理するベストプラクティス

やりたいこと

  • 接続系のコンフィグファイルを、ローカルで変更する(例えば"DB:localhost"とか)
  • 当然commitには含めたくない
  • だけどpullもされたくない
  • でも、git管理はしたい(できればリモートには雛形かprodの状態で)

背景

  • gitignoreすると、管理そのものがされなくなるので困る
  • いちいちcommit/pullのときstashするのはめんどくさすぎるし、忘れた人がローカルをリモートにあげがち
  • assume-unchangedすると、大元に変更があった時にconflictする
  • なぜトーパルズは「gitignorelocal」を用意しなかったのか!

という問題に何度か遭遇して考えて自分の結論を出したので残しておく
(あとググってもそういう記事があんまりなかった)

答え

  • 本来あるべき場所、正規パスのコンフィグファイルはgitignoreする
  • このignoreはcommitに含めて各開発者が同様になるようにする
  • config置き場を作り、そこにdev/stg/prodのファイルをおく
  • デプロイの瞬間に対応するコンフィグを正規の場所に配置するようにする
  • ローカル設定ファイルはそのまま自分の環境で正規のパスに置いておく

後書き

  • もっといいやり方知っている人は教えてください
  • 後からプロジェクトに参画したときはすでに開発者のコンフィグがcommitされている場合しかなかった
  • トーパルズはいつも正しい。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?