ブランチの変更を壊さないようにビルドプロセスを設定したいと思います。複数のプロジェクトによって参照されている共通のライブラリ/プロジェクトがあります。そのため、この共通ライブラリに変更が加えられた場合、それを使用する他のすべてのプロジェクトも、重大な変更をビルドしてチェックする可能性があります。これまでのところ、MSBuildを使用して、その逆を行うことができました。プロジェクトから、すべての依存関係を収集できます。しかし、msbuildで共通ライブラリを参照/使用するすべてのプロジェクトを取得するにはどうすればよいですか?
2 に答える
「プッシュ」通知を行いたい場合、それはいくらかの作業になります。
安価なトリックは、CommonLibrary の (ビルド プロセスの最後のステップとして) 依存プロジェクトのそれぞれでソース コードの更新を行うことです。ダミーファイルのように。
.\MySolution1.sln
.\MyBuildTriggerFile1.txt
その後
.\MySolution2.sln
.\MyBuildTriggerFile2.txt
(など)。
そして、CommonLibrary のビルド プロセスを開始し、依存プロジェクトである種のクイック アップデートとチェックインを実行します。
ここでの良い点は、実装が比較的簡単であることです。ここでの悪い点は、CommonBuild プロジェクトでリストを手動で更新し続ける必要があることです。もう 1 つの良い点は、実際にビルドを行っているのではなく、「何かが起こった」という小さなメッセージを送信しているだけだということです。したがって、CommonBuild ライブラリが行き詰まることはありません。
次に、依存プロジェクトを「変更に基づいて構築」するように設定すると、すぐにわかります。
……
「すべて自動」かつ「すべて動的」にしたい場合は、カスタム MSBuild タスクを使用して何らかの作業を行う必要があります。
csproj ファイルを取得して解析し、CommonLibrary にリンクする必要があります。
あなた。それは大変な作業です。
.......
私は中立的なアプローチを取ります。
「トリガー ファイル」システムを使用します......(上記で推奨).......そして、コードを 1 晩に 1 回、または「チェックインのたびに」ビルドします......
ともかく。アイデアがあります。しかし、私は箱から出して何も知りません。
…………