2017-10-11 6 views
0

ステージング環境と本番環境があります。新しい連続的な統合定義/ビルド/リリースなどをテストするためにステージングで必要なことは何でもできます。各環境にはgit repoがあります。ステージング環境でのミラープロダクトリポジトリ

現在、私は2つのローカルリポジトリを持っています。 1つはステージング用、もう1つはプロダクション用です。ビルド/リリースの定義を変更することはしばしばではないため、当社が生産で作業している時間の99%です。しかし、私たちは現在変更を行っており、ステージングするgit repoコードを実動コードで更新する必要があります。

したがって、私は基本的に、ローカル生産リポジトリディレクトリ(マイナスのgit関連ファイル)からステージングにコードをコピーして貼り付け、サーバーのステージングにプッシュします。

これは不自由なので、もうこれ以上やりたくはありません。だから、より効率的な設定は何でしょうか?理想的には、ステージングは​​プロダクションを単にミラーリングするだけですが、ステージングの変更がプロダクションに影響することは望ましくありません。

答えて

2

ステージングとプロダクション用に2つの別々のレポジションを持っているというアイデアは本当にわかりませんが、このような設定は非常に頻繁に(あるいはおそらくこれまで)見られませんでした。両方のリポジトリで同じ製品のコードをバージョン管理している場合は、ここで明らかになるのは、すべてのリポジトリを1つのリポジトリにすることだけです。この単一リポジトリにステージングとプロダクションブランチがあり、今ではステージングからプロダクションに、あるいはその逆に機能を移動する必要がある場合は、指先でマージやリベースするなどの作業を行います。

+0

これは、CI/Server構成テストのためのものです。 tfsのバージョン、ネットワークの設定などを更新してください.Gitの設定は他のチームに影響を与える変更を行う際にのみ使用されます。この設定は通常のワークフローの一部ではありません。 – jparram

+0

@jparram私は設定の複雑さに慣れていませんが、Gitの同じリポジトリ内の2つのブランチ間で情報をやりとりする必要がある場合は、比較的簡単です。 _different_reposの2つのブランチの間で同じことをする必要がある場合、それはオレンジにリンゴです。あなたは現在どこにいるのでしょうか、手作業でコピーしたり、同じことをするスクリプトを書いたりします。 –

+0

お時間をいただきありがとうございます。 2枚目のコピーと貼り付け後、私はそれをスクリプト化しました...しかし、別のレポが混在している場合には他のオプションがあるかどうか不思議でした。 – jparram

0

2つのメインブランチ、すなわちdevmasterを使用して1つのレポを作成する必要があります。

ローカル生産リポジトリディレクトリ(マイナスのgit関連ファイル)のコードをコピーしてステージングに貼り付けてから、サーバーのステージングにプッシュします。代わりに

、その後、ブランチstagingからstaging-testにチェックアウトgit pull --rebase origin master、その分岐ステージングは​​masterコードにマージする必要があります。

あなたはGitFlowを見てとることができます。https://www.atlassian.com/git/tutorials/comparing-workflows

0

を次に、あなたの地元のステージングレポに切り替わりあなたの現地生産のレポにGitのプッシュにgitのフックを追加することができ、あなたの現地生産のレポから引く、とにプッシュしますリモートステージングレポ。

関連する問題