私は頭をANT、CI、SVNに巻き付けて展開するように取り組んでいます。開発サーバー、ステージング/ qaサーバー、本番サーバー、ビルドサーバーがあります。
理論的には、CIビルドサーバー(bamboo)はビルドを実行し、(FTP ??)次に開発サーバーに実行します。ある時点で、ビルドをステージングサーバーにデプロイすることを決定します。ANTタスクの一部であるFTP情報を更新するにはどうすればよいですか?本番サーバーにデプロイする場合も同じ質問が当てはまります。
私は頭をANT、CI、SVNに巻き付けて展開するように取り組んでいます。開発サーバー、ステージング/ qaサーバー、本番サーバー、ビルドサーバーがあります。
理論的には、CIビルドサーバー(bamboo)はビルドを実行し、(FTP ??)次に開発サーバーに実行します。ある時点で、ビルドをステージングサーバーにデプロイすることを決定します。ANTタスクの一部であるFTP情報を更新するにはどうすればよいですか?本番サーバーにデプロイする場合も同じ質問が当てはまります。
私はあなたが探していると思いますconfiguration management
か?スクリプト自体は、開発、ステージング、本番など、どこで実行されているかに関係なく、同じことを行う必要があります。ただし、それぞれの環境に固有の構成値を持つ環境ごとに構成ファイルを作成できます。スクリプトはこれらの構成ファイルから値を読み取り、アプリケーションを適切に構成します。
また、複数のビルド ファイルに関する直接の質問に答えるには、いいえ、展開用の単一のターゲットを持つ単一のビルド ファイルを用意してください (複数のターゲットは必要ありませんが、状況に応じて使用できます)。詳細は以下のとおりです。
したがって、詳細を説明するには:
dev.config、stage.config、prod.config (または.properties
ファイル) などの構成ファイルがあります。構成には、マシンの IP、環境の他の部分の値などがあります。アプリを構成して実行するために必要なものはすべてあります。その環境。
Ant に「展開」ターゲットがあるとします。コマンドラインからいくつかのプロパティ「環境」を読み取らせます( -Denvironment=stage )
このプロパティを使用して構成ファイルと値を読み取り、これらの値を使用してデプロイします。ベースのアプローチを使用しますconvention over configuration
。これにより、値がその特定の環境のデフォルトと異なる場合にのみ、構成ファイルがオーバーライドできるいくつかの適切なデフォルトが存在します。
使用する環境構成を指定する「環境」プロパティ値を持つ単一のターゲットがあります。
「ftp_to_dev」と「ftp_to_staging」などの 2 つのタスクを作成してから、必要なタスクを呼び出すだけです。