簡體   English   中英

使用VSTS部署Azure WebJob

[英]Deploy Azure WebJob using VSTS

我在使用Visual Studio Team Services(VSTS)部署Azure WebJob時遇到了一些問題。

WebJob似乎已成功部署,但它破壞了托管在同一App Service中的Azure網站! 如果我使用VS2013部署,我沒有這個問題。

這是我的構建任務,它生成WebJob部署包:

構建任務 - 生成Azure WebJob部署包

這是我的部署任務:

部署WebJob任務

部署Azure WebJob時沒有錯誤。 如果我去Azure門戶,我看到WebJob就在那里,它運行成功。 WebJob文件按預期復制到wwwroot\\App_Data\\jobs\\triggered\\RemoveExpiredDids文件夾中,但問題是其他一些文件將被復制到wwwroot\\App_Data\\bin文件夾中,這會破壞已部署到的現有網站那個App服務!!!

所以我決定找出為什么會發生這種情況。 下載並解壓縮部署包后,我看到有2個文件夾( app_databin )和調度程序文件( settings.job ):

WebJob部署包

這解釋了為什么某些程序集被copped到App Service的wwwroot\\App_Data\\bin中。 奇怪的是,從VS2013部署時不會發生這種情況! 我查看了MSBuild日志,找到了以下行:

由於跳過指令“SkipBinFolderOnDeploy”,跳過了對象dirPath([app service name] \\ bin)。

總結一下,從VSTS部署Azure WebJob時會包含bin文件夾,但從VS2013部署它時會被排除。

所以我的問題是: 如何在使用VSTS時阻止部署bin文件夾? 是否有任何MSBuild參數/標志來執行此操作?

我也遇到過這個問題。

我發現的最新方法是在發布定義(附加參數)中創建azure deploy任務時使用Web部署操作設置 ,-skip:Directory =(在這種情況下,它將是-skip:Directory ='\\\\ bin') 。 我已經看到這確實排除了更新操作( 結果 )中的bin文件夾。

如果這對您有任何幫助,請告訴我。

請參閱以下方法將webjob部署到azure:

  1. 修改Visual Studio Build任務以使用FileSystem部署webjob(MSBuild參數: /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\\\WebJob" /p:DeployDefaultTarget=WebPublish
  2. 添加刪除文件任務以釋放定義以刪除bin文件夾(源文件夾: $(System.DefaultWorkingDirectory)/WebJobVnext/drop/WebJob ); 內容: bin
  3. 修改Azure App Service Deploy任務(1.取消選中使用Web Deploy發布選項.2。包或文件夾: $(System.DefaultWorkingDirectory)/[artifact name] /drop/WebJob

我終於能夠解決它,感謝@ starain-MSFT指出我正確的方向。 不過,我不得不做一些小改動。 這是創建部署包的任務:

生成Azure WebJob部署包

MSBuild參數:

/ p:DeployOnBuild = true / p:WebPublishMethod = FileSystem / p:DeployDefaultTarget = WebPublish / p:Configuration = $(BuildConfiguration)/ p:OutputPath =。\\ bin \\ /p:publishUrl="$(build.artifactstagingdirectory)\\temp \\ WebJob”

這里與@ starain-MSFT答案的區別在於我必須添加/p:OutputPath=參數,否則我會收到以下錯誤:

未為項目設置OutputPath屬性

生成包后,我刪除bin文件夾並壓縮它(這減少了構建時間)。

這是我的部署任務:

使用VSTS部署Azure WebJob

請注意, $(DeploymentPackagePath)是包含部署包的zip文件的路徑,如前所述。 將軟件包部署為zip文件或者解壓縮並部署文件夾無關緊要,它可以兼顧兩種方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM