私は現在ステージング ワークフローを持たない会社で働いており、状況は厳しくなっています。私は適切なワークフローを設定しようとしており、さまざまなアプローチに関するいくつかの優れたチュートリアルとリソースを読みました. 私が使用するワークフローは、開発者が自分のコードをコミットして開発リポジトリにプッシュし、それを本番リポジトリにコピーするというものです。次に、prod サーバーで単純なプルが実行されます。
CakePHP を使用しています。2 つのサーバー (prod と dev) と、もちろん localhost があります。ただし、構成 (データベース、支払い、認証など) は環境ごとに異なります。私の主な質問は、以下からどのオプションが優れているかということです (他の提案も歓迎されます)。
オプション1:
- 3 つの環境すべてを適切な構成でセットアップする
- .gitignore を使用して、構成と環境固有のファイルを無視します
- シンプルなプッシュ/プルを使用
オプション 2:
- PHP メカニズムを使用して環境を検出し、適切な構成を選択する
- .gitignore を使用する必要はありません (単に tmp ファイルなどを無視する場合を除きます)
- シンプルなプッシュ/プルを使用
これを行う最善の方法を知りたいです。また、デプロイが簡単な Git ワークフローの推奨も素晴らしいでしょう。