git を使用してテスト環境と本番環境をデプロイすることにいくつか疑問があります。先輩方が明確な道筋を示してくれることを願っています。
私が今やっていること: (最初の方法)
コードをローカルに書き込み、完了後に bitbucket にプッシュします。
次に、テスト環境の bitbucket でテスト ブランチをプルします。
テストに問題がなければ、bitbucket でプルリクエストを作成します。 test ブランチを master ブランチとマージします。
本番環境の bitbucket で master ブランチをプルします。
2 番目の方法
私はこれまでに多くの記事を読みましたが、この方法を使用している人もいます。
テスト環境と本番環境でそれぞれ Git リポジトリを構築します。
ローカル開発後のテストのために、テスト環境に直接プッシュします。
次に、本番環境にプッシュして実行します。
これら 2 つの方法のどちらが優れているかわかりませんか?私は今、これに少し行き詰まっています。
どの方法がより科学的で効率的かわかりません?
今のやり方はちょっと面倒だなと常々感じています。上記の bitbucket をプッシュするたびに、テスト サーバーにログインしてプルします。これを bitbucket にマージし、実稼働環境のサーバーにログインしてコードをプルする必要があります。
では、2 番目の方法を使用する場合、bitbucket は完全に不要になるのでしょうか? 。
さらに、最初の方法を使用すると、コードを bitbucket にプッシュできるはずです。bitbucket の開発ブランチが変更された場合、テスト環境は自動的に bitbucket の開発ブランチを同期します。 bitbucket のメイン ブランチが更新されると、運用環境は bitbucket のメイン ブランチのコードを自動的に同期します。 (これは git hock を使用して実行できるはずです。) しかし、これを行う場合でも、テスト環境と実稼働環境のサーバーに git ウェアハウスを確立する必要がありますか?
運用環境とテスト環境で bitbucket コードを自動的に同期できる場合、どうすればよいですか?
バージョン管理 (git/svn) とデプロイメントは適切に分離 (分離) する必要があります。
テスト システムとデプロイメント システムは、ターゲット コードのブランチとバージョン番号を知る必要があるだけです。
デプロイメント システムは、任意のブランチに任意のバージョンのコードをデプロイできる機能を備えている必要があります (オンラインにする必要があるコードは必ずしも最新である必要はありません)。
本番環境にマスターブランチをデプロイし、テスト環境で開発ブランチなどのマスターからブランチをチェックアウトし、マスターから機能などのブランチをチェックアウトし、テスト後に開発マージ機能ブランチを使用します。マスター マージ機能ブランチを使用します。開発ではマスターコードを毎日マージして最新の状態に保ちます。