4

スタック初投稿なのでお手柔らかに!

TeamCity との継続的インテグレーションを始めたばかりです。次のような TeamCity プロジェクトをセットアップしました。

  • ソリューション ビルド (ソリューション全体をビルドする) - .Sln ファイル
    • 開発サーバーへのデバッグ (デバッグ構成で .csproj をビルドし、MSDeploy を使用してテスト サーバーに配置します)
    • 本番環境へのリリース (リリース構成で .csproj をビルドし、MSDeploy を使用して本番サーバーにデプロイします)

Umbraco Visual Studio プロジェクト (標準の Web サイト プロジェクト タイプではない Web アプリケーション) 内では、umbraco_client フォルダーと umbraco フォルダーがプロジェクトから除外されています。これは主に、それらが既にコンパイルされており、プロセスによって再コンパイルする必要がないためです。 . ただし、両方のフォルダーは SVN リポジトリに含まれています。

私たちが経験している問題は、これら 2 つのフォルダーが Visual Studio プロジェクトから除外されているため、TeamCity がそれらをデプロイしないことです。

したがって、私の質問は、「フォルダーが SVN にあるが、Visual Studio プロジェクトから除外されている TeamCity ビルド パッケージにフォルダーをどのように含めるのですか?」ということになります。

任意のポインタは本当に高く評価されます.

ありがとう

dotdev

4

3 に答える 3

1

このブログ投稿で説明されているものと同様のアプローチを使用することをお勧めします: http://blog.iqit.dk/2013/11/using-package-restore-in-umbraco-projects

nuget について言及していないため、zip または Web pi を使用してソリューションで Umbraco をセットアップすると仮定しますが、msbuild にリストされているターゲットを使用したり、ソリューションをビルドするときに Web アプリケーション .csproj に追加したりできるはずです。コピーするには、Svn リポジトリまたはビルド サーバーのどこかに Umbraco および Umbraco_client フォルダーが必要です。

別の方法として、UmbracoCms nuget をダウンロードすることをお勧めします。これには、msdeploy zip パッケージに前述の 2 つのフォルダーが含まれる msdeploy パイプラインの拡張機能が含まれています。ただし、ここでも nuget インストールに基づいているため、Umbraco フォルダーの標準的な場所に基づいています。

お役に立てれば。

于 2013-11-13T18:39:11.777 に答える
0

私の TeamCity ビルドは、Troy Hunt の優れた「You're Deploying it Wrong」シリーズに基づいています。これは、Visual Studio ベースのプロジェクトと TeamCity を統合するための優れたステップ バイ ステップ ガイドです。 http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity.html

SVN から umbraco および umbraco_client フォルダーを除外することについて。複雑な Umbraco ビルドでは、Umbraco フォルダーがデフォルト ビルドに変更される可能性があります。たとえば、Umbraco イベント ハンドラーの追加、新しい Umbraco セクションの追加、バックオフィス タブの変更などです。リッチ テキスト エディタなどを変更しない限り、umbraco_client が変更されることはないと思いますが、可能です。したがって、これらの特定のフォルダーを除外することが正しいかどうかはわかりません。メディア フォルダーを除外することもよく議論されますが、すべてがそこにあれば、TeamCity の構成が簡単になります。

しかし、あなたの質問に答えるために、それらをビルドから除外して、ビルド サーバーにコピーすることができます。次に、ビルドステップが開始する前にそれらを元の場所にコピーするだけの「コマンドライン」ランナービルドステップを追加します。

私は通常、リビルドを開始するソース管理変更ステップを追加し、Umbraco プロジェクトの TeamCity に 2 つのビルド ステップを用意します。1 つは「Visual Studio (sln)」ランナーで、sln ファイルにすべての参照とサード パーティ製品が正しく設定されていることを確認します (これにより、「自分のマシンで動作する」問題が解消されるはずです)。もう 1 つは、csproj ビルド プロセスをレプリケートする「MSBuild」ランナーです。適切なアクセス許可を持つ 2 番目のビルド ステップを使用すると (展開先のマシンでポートが開いている場合、または展開先のマシンと同じマシンに展開している場合)、Visual Studio または DOS でこれをテストできます。

これら 2 つのビルド手順は、ステージング サーバー上の IIS Web サイトに展開できる必要があります。また、ライブ サーバーまたは UAT サーバーで適切なポートが開いている場合は、3 番目のビルド ステップを追加して展開できます (最初の 2 つのビルド ステップが適切に実行された場合)。

于 2013-11-15T09:19:40.570 に答える