自動ビルド/自動デプロイにはどのツールを使用していますか? なんで?
おすすめのツールは?
自動ビルド用のHudson 。セットアップとデモが最も簡単だったので、それを選びました。複雑すぎて見栄えの悪いシステムでは、管理者が自動ビルドに参加するほどの印象を与えることはできません。特に慣性の多いプロジェクトでは。
ビルド用の NAnt (ただし、MSBuild、Rake、ほとんど何でも問題ありません) およびデプロイ用の CruiseControl.NET です。私は現在、さまざまなパイプラインをステージングするためのより良い方法を提供し、必要なバージョンをターゲット環境に展開できるようにするため、ThoughtWorks studios の新しい Cruise を使用しています。
JetBrains のTeamCityを使用します。また、Resharper と IntelliJ も作成しています。
.Net アプリケーションの構築に使用していますが、セットアップ、TFS への接続、追加ツールの実行は非常に簡単です。とても洗練されていて、実際にこのサイトを思い出させます。CruiseControl よりもはるかに優れていることがわかりました。私たちのチーム規模では無料です。多数の異なるビルド、より多くのユーザーごとのビルドなどが必要な場合は、少しコストがかかります (ただし、それでもかなり妥当です)。
おかしなことに、夜間のビルド プロセスのオーバーホール (ゼロからの実装を読む) に 2 週間を費やしました。とても楽しいです(いや、本当に)。Team Foundation Server をインストールするというアイデアも思いつきましたが、ソース管理に Perforce を使用しており、手間をかける価値があるとは思いませんでした。
私たちのプロセスは、スケジュールされたタスクで次のことを行う専用のビルド/テスト サーバーで実行される一連の Powershell スクリプトになりました。
ソースツリー全体を一掃します (最初に何もチェックアウトしていないことを確認してください!)
Perforce からソース ツリー全体を (最後にラベル付けされたビルドから) ダウンさせます。
変更レポートを生成します (HEAD に同期して何が起こるかを監視します)
アプリをビルドする
PDB ファイルを Perforce ソースにインデックス付けする
バイナリとシンボルを専用のシンボル サーバーに格納する
テスト プロジェクトを実行する
インストーラーをビルドする
ラベル
上記のすべてのステータス レポートをグループにメールで送信する
うまくいきます。
make
そしてbash
Linux上で
make
そしてcmd
窓に
Windowsでコンパイル可能なものには、FinalBuilderを使用します。
スクリプトや xml ファイルを使用する代わりに、定義済みのグラフィカル マクロ操作が付属しているため、タスクを簡単に作成できます。
自動ビルド用のCruiseControl 。よく働く。
自動ビルドの場合、現時点で最適なツールは JetBrain の Team City だと思います。無料版には、ほとんどの 5 ~ 10 人のチームに必要なすべての機能が含まれています。セットアップは簡単で、新しいプロジェクトの構成は (比較的) 簡単で、最も重要なことは、信頼性が高いことです。
自動移行の場合、PowerShell に勝るものはありません。
Subversion リポジトリのポストコミット スクリプトによってトリガーされるbuildbotを使用して成功しました。これは、自動ビルドと自動テストの両方に使用されています。
仕事では、古き良きAntを使用して Java サーブレットを構築しています。
以前は Kinook ソフトウェアの Visual Build を使用していましたが、最近新しいアプリケーションで MSBuild に切り替えました。これは、TFS との統合が改善され、カスタム タスクを作成できるためです。
ビルドのために作ります。デプロイメント用のDebianパッケージ(本番サーバーが実行するため)。
ビルドと展開/インストールの両方に ANT 。
優れたクロスプラットフォーム インストーラーになります。
自動ビルドにはHericus Zed Builds And Bugs Managementを使用しています。
4 つのコード ブランチがあり、それぞれに Java、C++、C#、クロス プラットフォーム コンパイル、および 5 つの OS 用のインストーラーがあります。
ビルド/パッケージ化用の NAnt スクリプトとデプロイ用の PowerShell を実行する TeamCity。
ネイティブの TeamCity ランナーの代わりに、TeamCity を利用した NAnt を使用すると、よりリッチなビルド プロセス (css ミニマイザーなど) を使用できることがわかりました。また、TeamCity サーバーだけでなく、すべての開発者 PC で完全なビルド/パッケージ プロセスを実行できるため、ビルド プロセスの問題のカスタマイズとデバッグがはるかに簡単になります。