複数のプロジェクトを持つVSソリューションがあります。各プロジェクトは、単一のAppServicesでホストしている独立したWebJobです。私はこれをContinuous deploymentに自動化しようとしています。変更されたソリューションにジョブのみを導入するための最良の戦略は何でしょうか? CIへのマージの一部として変更されたプロジェクトを見つける方法はありますか?私たちはgitを使用しており、このソリューションは単一のリポジトリにあります。プロジェクトにはazure-webjobsdkを使用しています。複数のジョブVisual Studio Team Servicesでの展開
1
A
答えて
1
あなたが唯一の変更webjobを展開する手順の下に従うことができます:
は、以下のようにあなたのファイル構造を仮定します
Git root
|___WebJob1
|___WebJob1.sln
|___webJob1
|___WebJob1.csproj
|___WebJob2
|___WebJob2.csproj
|___ …
|___WebJobn
|___WebJobn.csproj
1.変数(例えば、デフォルト値none
とbuildporj
など)を追加します。変更されたWebJobプロジェクトパッケージを記録します。
2. WebJob1/WebJob1.sln
のNuGet復元タスクを追加します。
3 MSBuildの引数でVisual Studioのビルドタスクを追加します。
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:SkipInvalidConfigurations=true /p:PackageLocation="$(Build.BinariesDirectory)\\"
4. WebJobプロジェクトが変更された検出およびへ$(Build.BinariesDirectory)
からパッケージをコピーするにPowerShellのタスクを追加します。 $(Build.ArtifactStagingDirectory)
以下のようにスクリプトによって:
$files=$(git diff HEAD HEAD~ --name-only)
echo "changed files: $files"
for ($i=0;$i -lt $files.Length; $i++)
{
$file=$files[$i] -split '/'
$files[$i]=$file[1]
}
$uni=$files | Get-Unique
[email protected]($uni | Where-Object {$_ -notmatch ".sln"})
echo "You changed the project (if more than one projects were changed, only deploy the first one): $uni"
$proj=$uni[0]+".zip"
Write-Host "##vso[task.setvariable variable=buildproj;]$proj"
Copy-Item $(Build.BinariesDirectory)\$proj $(Build.ArtifactStagingDirectory)
- Azure App Serviceタスクを追加するには、パッケージまたはフォルダオプションを
$(Build.ArtifactStagingDirectory)\**\$(buildproj)
と指定します。
関連する問題
- 1. Visual Studio Team Servicesの展開セキュリティ(Visual Studio Onlineでした)
- 2. Visual Studio Team Services(Visual Studio Online)ビルドでAzure Cloudサービスを展開できない
- 3. Visual Studio Team ServicesのビルドからプライベートIISサーバーに展開する
- 4. ビルドカウンター - Visual Studio Team Services
- 5. Visual Studio Team Servicesの "Webコンテキスト"
- 6. Visual Studio Team Servicesでの展開後に統合テストを実行する
- 7. Visual Studio Team ServicesでVisual Studio Team Servicesのナゲットフィード(VSO)をVisual Studio 2013で認証できません
- 8. Visual Studio Team Services Online - リポジトリブランチテンプレート
- 9. Visual Studio Team Services and Karma
- 10. Visual Studio Team ServicesビルドTypescriptエラー
- 11. Visual Studio Team Services(VS Online)カスタムレポート
- 12. Visual Studio Team Services - FTP Publish
- 13. Visual Studio Team Servicesビルド - Gitリポジトリ
- 14. Visual Studio Team Services(VSO)ジャスミンテストケースコードカバレッジ
- 15. Visual Studio Team Services with SharePoint online
- 16. Visual Studio Team Servicesサポート.Netコア?
- 17. Visual Studio Team Services:複数のブランチの単一ビルド定義
- 18. Visual Studio Team ServicesでのWiXのビルドタイムアウト
- 19. 複数のVisual Studio Team Servicesインスタンスを追加する
- 20. Visual Studio Team ServicesからFTPに成果物を展開する際の問題
- 21. Visual Studio Team Servicesでのサインインとアライメント(Visual Studio Onlineで)
- 22. Visual Studio Team ServicesのXamarinビルドの問題
- 23. のVisual Studio Team Servicesの倉庫
- 24. Visual Studio Team Servicesから静的WebサイトをAzureに展開する方法
- 25. Visual Studio Team Services(Visual Studio Onlineでした)TestResults - ブラウザで添付ファイルを開く
- 26. Visual Studio Team Servicesアカウントの問題
- 27. AzureとVisual Studio Team Servicesの関係
- 28. Visual Studio Team Services APIの例System.Net.Httpエラー
- 29. Visual Studio Team Servicesの状態遷移
あなたVSTSは今定義を構築する何ですか? Azure App Service Deployタスクを使用してWebジョブを展開しますか? –
私は今のところ持っていませんが、App Service Deployタスクで単一のソリューションから複数のWebジョブを展開できますか? –
いいえ、App Service Deployタスクで1つのWebジョブをデプロイすることしかできません。変更されたwebjobプロジェクトを展開するための回答を追加しました。試してみることができます。 –