7

私の会社では、Flex プロジェクトでビルドが壊れるという問題が繰り返し発生しています。この問題は主に、開発者がローカル マシンで行うビルドが、ビルド マシンで発生するビルドと根本的に異なるために発生します。開発者は を使用してプロジェクトをビルドしてFlexBuilder/eclipseおり、ビルド マシンはコマンド ライン コンパイラを使用しています。必然的に、{projectname}-config.xmlビルドを実行するおよび/またはバッチ ファイルが Eclipse で使用されるプロジェクト ファイルと同期しなくなるため、ビルドは開発者のマシンでは成功しますが、ビルド マシンでは失敗します。

私たちは、FlexBuilder のプロジェクト ファイルをファイルに変換するユーティリティ プログラムを作成する道を歩み始めましたが{projectname}-config.xml、a) 文書化されておらず、b) 恐ろしいハックです。

構成ファイルを取得するために -dump-config スイッチを調べましたが、これにはいくつかの問題があります。マシン)、および 2) IDE から実行した場合にのみ正しく機能するため、ビルド プロセスに組み込むことはできません。

明日は、いくつかのオプションについて説明しますが、どちらもあまり好きではありません。

a)チェックイン後のイベントを Subversion に追加して、これらの絶対参照を削除するか、
b)絶対参照を削除するビルド前のプロセスを追加します。

私たちがこの問題に遭遇した最初の開発者グループであるとは信じられませんが、Google で適切な解決策を見つけることができません。他のグループはこの問題にどのように対処しましたか?

4

2 に答える 2

1

Flexbuilder で ant を使用するための文書化されていない要件の 1 つは、ant スクリプト内で変数 FLEX_HOME を設定することであることがわかりました。通常、build.xml 内には次のものがあります。

<!– Module properties –&gt;
<property environment=”env”/>
<property name=”build.dir” value=”build”/>
<property name=”swf.name” value=”MyProjectSwf”/>
<property name=”root.mxml” value=”Main.mxml”/>
<property name=”locale” value=”en_US”/>
<property name=”FLEX_HOME” value=”${env.FLEX_HOME}”/>

これは面倒に思えるかもしれませんが、開発者に複数のプラットフォームを使用している場合、プラットフォームや環境全体で一貫性を確保するためのはるかに合理的なアプローチです。

HTH

于 2008-09-13T15:28:00.440 に答える
1

特定の問題の解決策ではありませんが、回避策は継続的統合サーバーを使用することです。

Cruise Controlのようなものを使用すると、誰かがソース管理に何かを送信するたびに自動ビルドを開始できます。その後、ビルドが何らかの理由 (環境の不一致を含む) で失敗した場合、それを修正するのはビルドを壊した開発者次第です。さまざまな方法で失敗/成功時にメールを送信するように構成できます。

于 2008-09-15T16:18:18.273 に答える