首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VSTS部署Azure WebJob

使用VSTS部署Azure WebJob
EN

Stack Overflow用户
提问于 2017-08-15 07:52:46
回答 3查看 4.2K关注 0票数 10

我在使用(VSTS)部署Azure WebJob时遇到了一些问题。

WebJob似乎部署成功,但它破坏了托管在同一个Azure!中的Azure网站,如果我使用VS2013进行部署,我没有这个问题。

这是生成WebJob部署包的构建任务:

这是我的部署任务:

部署Azure WebJob时没有错误。如果我访问Azure门户,我会看到WebJob在那里,它成功地运行了。WebJob文件按预期复制到wwwroot\App_Data\jobs\triggered\RemoveExpiredDids文件夹中,但问题是其他一些文件将复制到wwwroot\App_Data\bin文件夹中,这将破坏已经部署到该应用程序服务中的现有网站!

所以我决定找出为什么会发生这种事。在下载和提取部署包之后,我看到了两个文件夹(app_databin)和调度程序文件(settings.job):

这解释了为什么某些程序集被复制到App的wwwroot\App_Data\bin中。奇怪的是,在从VS2013部署时不会发生这种情况!我查看了MSBuild日志,发现了下面的一行:

对象dirPath (app服务名称\bin)跳过指令'SkipBinFolderOnDeploy‘。

最后,bin文件夹在从VSTS部署Azure WebJob时包括在内,但在从VS2013中部署它时被排除在外。

因此,我的问题是:bin如何防止文件夹在使用VSTS时被部署?是否有任何MSBuild参数/标志来执行此操作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-16 01:56:41

请参考以下将webjob部署到azure的方法:

  1. 修改Visual任务以使用FileSystem (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任务(1.使用Web选项取消发布。2.软件包或文件夹:$(System.DefaultWorkingDirectory)/[artifact name] /drop/WebJob)
票数 2
EN

Stack Overflow用户

发布于 2017-10-09 09:09:53

我对这个特殊的问题也有意见。

我发现的最新方法是在发布定义中创建azure任务(附加参数)时使用Web部署操作设置,-skip:Directory= (在本例中是-skip:目录=‘\bin’)。我已经看到,这实际上将bin文件夹排除在更新操作(结果)之外。

如果这对你有帮助的话请告诉我。

票数 3
EN

Stack Overflow用户

发布于 2017-10-10 07:56:49

我终于能修好它了,谢谢@starain-MSFT为我指明了正确的方向。不过,我得做些小小的改变。这是创建部署包的任务:

MSBuild参数:

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

与@starain答案相比,这里的不同之处在于,我必须添加/p:OutputPath=参数,否则将得到以下错误:

未为项目设置OutputPath属性

生成包后,我删除bin文件夹并将其压缩(这将减少构建时间)。

这是我的部署任务:

请注意,正如前面提到的,$(DeploymentPackagePath)是指向包含部署包的zip文件的路径。无论是将包部署为zip文件还是解压缩并部署文件夹,它都是双向工作的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45688605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档