0

github Web フックで myget ビルド サービスを使用して、github へのプッシュごとに nuget パッケージをビルドしています。

github リポジトリはプロジェクト レベルであるため、packages フォルダー (sln レベル) はプッシュされません。

依存関係がないため、私のビルドは失敗します。ここでのベストプラクティスは何ですか? ビルド中に nuget を使用して依存関係を取得したいと思います。これは myget で可能ですか? もしそうなら、どのように設定できますか? 私はパッケージの復元を見てきましたが、それはslnレベルで構成も作成するので、それが私を助けることができるとは思いません.

4

1 に答える 1

0

ドキュメントで説明されているように、独自のビルド スクリプトを使用して MyGet ビルド サービスに接続できます: http://docs.myget.org/docs/reference/build-services

その後、NuGet を使用して自分でパッケージを復元できます: http://docs.myget.org/docs/how-to/make-use-of-nuget-within-your-build-scripts

本当の問題は、プロジェクトがソース リポジトリ ルートの外にあるライブラリを参照しているという事実です。リポジトリに次のディレクトリ構造を持つというデフォルトの規則を尊重することをお勧めします。

$(SolutionDir) = repository root
    \ProjectDir

ソリューション ディレクトリにプロジェクト固有のソリューションを含める (およびプロジェクトを独自のサブディレクトリに配置する) か、ソリューション ディレクトリでビルド スクリプトを使用して、$(SolutionDir)\Packages フォルダーにパッケージを復元することができます (チェックアウト ディレクトリ内にある限りその場で作成できnuget.exe install、packages.config を呼び出すことができます)。

于 2013-05-11T14:36:45.207 に答える