優れたJavaビルド環境をセットアップする方法は?
質問
Java/Eclipse。開発は正常に機能します。ビルドサーバー用のWindowsまたはFreeBSDがあります。
展開するには、以下を(非常に自動化した方法で)したいと思います。
1:ソースコントロール(Perforce)からすべてを引き下げる
2:構成可能なJavacと引数を使用して、すべてのソース(およびすべての依存関係プロジェクト)を構築します(異なるコンパイラがパフォーマンスに影響するかどうかを確認したい)
3:Proguardを実行します
4:すべてのリソース(.class、 "res/"ディレクトリ、外部.jarなど)を瓶にパッケージ化します。
5:.jnlp Webスタートを作成します
6:ネイティブWindowsインストーラーを作成します(提案はありますか?)
7)Androidアプリの4/5は、代わりに展開可能なAndroidパッケージにビルド/サインをする必要があります
アリを試しましたが、非常に不格好でエラーが発生しやすいようです。たぶんこれを行う最良の方法は、すべてをスクリプト化することです。これを行うには、すでに良い方法があるべきだと思われます。
解決
評価しました FinalBuilder しばらくの間。さまざまなビルドリリースタスクを統合するのは非常にPowertoolです。
その後、ハドソンに切り替えました。ハドソンは、アリのスクリプトとシェルスクリプトを実行します。ハドソンを配置することは、一般に、コード検査ツールの実行、VMインスタンスの作成、新しく作成されたインストーラーの展開、起動テストなど、他のタスクを実行するのに一般的に役立ちます。
installanyは、Javaアプリケーション用のネイティブインストーラーを作成することができます。ただし、無料ではありません。
他のヒント
ビルドプロセスにはMavenを使用し、ハドソンは私たちのためにビルドを行う継続的な整数サーバーとして使用します。 Windowsインストーラーを作成するには、Maven用のプラグインを備えたNSISを使用し、Linuxボックスにインストーラーを構築することもできます(ビルダーIIRCのライブラリを再コンパイルする必要があります)。
Androidに関しては、それをしたことはありません - それで、Mavenがまだ適切な助けを持っているかどうかはわかりません。ただし、必要に応じていつでもアリを埋め込むことができます(MavenにANTプラグインを使用)。
要するに、これらすべてのシステムと同様に、いくつかの最初のセットアップがありますが、スペードですぐに報われるため、やや大規模なプロジェクトでも価値があります。
検討 TeamCity. 。無料ではありませんが、継続的な統合に適したツールです。
Groovyに精通している場合は、GantのすべてのパワーとGroovyのコーディングの柔軟性を組み合わせていると考えるかもしれません。