2012-03-18 18 views
0

私たちは機能ブランチを扱っています。ブランチを運用サーバーに展開しないようにするにはどうすればよいですか?

私たちが展開するbashスクリプトを使用している、そしてそのスクリプトが展開する定義のパラメータがあります。しかしなどprod_server、test_env、local_virtualbox、

、機能ブランチとトランクは常にだけに展開する必要がありますローカル/テストと以前の安定版ブランチは、prod envにデプロイできる唯一のものでなければなりません。 (私が求めている唯一の理由は、もちろん、最近、私は偶然、私たちのプロダクトをいくつかの機能ブランチで上書きしてしまったことです)。

これを行うには良い方法がありますか?私はいくつかの問題を解決するために適切なアプローチを取っていませんか?あるいは、私が作業しているブランチをチェックし、パラメータに与えられたenvの名前に従って制限するためにいくつかのbashismsを使うべきですか?私は枝の代わりにタグだけを配備すべきですか?

(関連性が高いとは確信していませんが、Javaコンソールアプリケーション、スプリングショップ、ビルドに使用されるmaven)。

答えて

1

これをバージョンコントロールだけで解決するには トランクや最新のタグにsvn coというビルドbashスクリプトを作成し、この新しいチェックアウトでmavenビルドを実行すると、これを防ぐことができます。

プロセスでもmavenを使用したい場合: どこかで最後のコントロールポイントが間違いを犯すことがあるようにするには、deploy bashスクリプトにチェックを入れることをお勧めします。

私がmavenで作業したプロジェクトでは、生産性の高い部分をプロファイルとして設計しました。 prodプロファイルが展開に必要な情報を含む唯一のものであったため(最初の見栄えですべてのものが明らかになった最終的な名前)、非生産的なバージョンを生産環境に展開することは不可能でしたが、それはあなたに当てはまると思います(なぜなら、あなたが機能開発のために枝を使用していてプロフィールではないと言ったからです)。

だから、生産プロファイルで、このようfinalNameを設定し、配備bashスクリプトでそれをチェックして、あなたは問題ないはずです。

<profile> 
    <id>productive</id> 
    <build> 
     <finalName>MyProgram-productive-${version}</finalName> 
    </build> 
</profile> 

あなたは常に手動で適用する必要がそのように「これは生産的ですあなたが建てているものに旗を掲げてください。

しかし、これはフィーチャーブランチで 'これは生産的です'フラグを設定しないようにします。なぜなら、mavenはバージョン管理の状況を認識していないからです。

関連する問題