これが私がやろうとしていることです: 私は自分のコードを Bitbucket に置いています (これは ASP.net Web アプリケーションです)。Web ベースのダッシュボードを備えたビルド マシンをまとめたいと考えています。ダッシュボードに移動して、「OK、Bitbucket プロジェクトのすべてのブランチとものを見せて」と言います。このブランチから最新のコードを入手してビルドしてください。次に、私のためにこの場所に展開するか、この別の場所に展開してください。このダッシュボードに、このすべてのビルドとデプロイの履歴も表示してもらいたいです。私はCC.netやMSBuildなどについて読んでいるこの概念に非常に慣れていませんが、正しい答えが見つかりません。私を正しい方向に向けてください。
1 に答える
ビルド サーバーのポイントは、リポジトリに何かをコミットするたびに自動的にビルドを実行することです。
ビルド サーバーが何をすべきかを正確に認識できるようにするために、通常はビルド スクリプト (MSBuild または NAnt を使用) をソリューションに入れます。これにより、ソリューションのビルドやセットアップ パッケージの作成など、必要なすべてが実行されます。
ビルド サーバーは基本的に、リポジトリの場所と、ビルド スクリプトがリポジトリ内のどこにあるかを認識しています。
これはビルド サーバーで一度構成する必要があり、コミット後に常に実行されます (ただし、必要に応じてビルドを手動で開始することもできます)。
Web ベースのダッシュボードを使用したソリューションが必要な場合は、TeamCityを試してください。
商用製品ですが、20 ユーザーまでは無料です。
構成、ビルドの実行、およびビルド履歴の参照など、Web インターフェイスですべてを実行できます。
編集:
Houda さん、展開に関する質問について:
TeamCity にはその意味での「展開モード」があるとは思いません。あなたができることは、TeamCity によって実行されるビルド スクリプトにデプロイメントのものを含めることです。
そのため、ビルド自体が完了したら、生成されたアセンブリとファイルを Web サーバーにコピーします。
このようにする場合、ビルドが失敗しなかった場合にのみ展開が行われることをビルド スクリプトで確認する必要があります (ユニット テストがある場合は、ユニット テストも失敗しなかった場合)。
これは、ライブアプリケーションにとって非常に重要です。これを十分に処理しないと、誰かが「悪い」コードをリポジトリにコミットするたびに、アプリがすぐにオフラインになるためです (そして、次の「良い」コードまでオフラインのままになります)。 " 専念)!!
編集2:
以下の Lasse V. Karlsen のコメントを参照してください。新しい TeamCity バージョン 6 の方が快適です。