1

私は SVN を使用しており、リポジトリにはトランクが含まれています。

trunk
|
|_____A
|
|_____B
|
|_____C

また、トランクと同じ構造を持つ 2 つのブランチがあります。

branch
|
|_____DEV
       |
       |_____A
       |
       |_____B
       |
       |_____C
|
|_____PROD
       |
       |_____A
       |
       |_____B
       |
       |_____C

トランクは進行中の開発に使用され、ブランチはトランクと同じ構造ですが、異なる環境 (DEV と PROD) 用です。トランクと DEV ブランチの両方に共通の特定のフォルダー (フォルダー 'A') があり、同期を維持したいと考えています。つまり、トランクのフォルダー 'A' で行われた変更は、フォルダー ' の DEV ブランチに自動的に反映されます。 A'.

行く方法はどれですか?トランクで行われたすべての変更が自動的にブランチにコミットされるように、コミット後のスクリプトを作成しようとしましたが、今のところ成功していません。

4

2 に答える 2

0

PROD環境とDEV環境の完全な違いは何ですか? いくつかのファイル、1 つの異なるディレクトリですか? それはたくさんのファイルですか?

通常、このようなものはビルド プロセスの一部として処理されます。次に、ビルド プロセス中に、開発リリースまたは製品リリースをビルドできます。

PHP または JavaScript ファイルだけで構成される一部のプロジェクトは、実際にビルドする必要はありません。その場合は、展開できるアーティファクトとしてファイルを圧縮するだけです。含まれているファイルが適切な環境用であることを確認してください。利点は、ビルドのセットアップが完了したら、単体テストやスモーク テストなどを実行できることです。

Jenkins では、 DEV用とPROD用の 2 つの成果物を作成できます。DEVの特定のビルドが優れている場合、そのビルドのPRODアーティファクトも優れていると確信できます。

また、単一のデプロイ可能なアーティファクトを構築し、デプロイ プロセスでそのデプロイ アーティファクトを適切な環境に合わせて変更することもできます。または、Zookeeperのようなものを使用して環境変数と設定を Zookeeper インスタンスに保持し、任意の環境にデプロイできる単一のアーティファクトを使用するだけです。

互いに同期しなければならない 2 つの別々のブランチを使用する理由はありません。

于 2015-01-27T20:41:30.560 に答える