我可以使用VSTS Release Manager在我的应用程序服务下部署单个Web作业,而不部署整个应用程序服务吗?

时间:2018-08-17 15:27:55

标签: azure azure-devops azure-webjobs ms-release-management

我有一个包含5个Web作业的Azure应用服务。我已设置VSTS Release Manager来部署整个应用程序服务,该服务也可以成功更新我的Web作业。

但是,我只想部署一个Web作业,而不部署整个应用程序服务。我已经为网络作业成功建立了构建。但是我在发布管道的配置上苦苦挣扎。我尝试了两种方法:

1。复制文件

enter image description here

使用此方法,我正在使用$(build.artifactstagingdirectory)/app_data/jobs/triggered/[my-web-job-name]作为目标文件夹。但是,当我去生产环境(使用Kudu控制台)查找文件时,它们不存在。由于此操作“成功”完成,因此我认为目标文件夹的设置可能不正确。 我可以指定在生产环境中获取文件的目标吗?(作为补充,我需要做一些特殊的事情来使它部署drop.zip文件的内容吗?)< / p>

2。 Azure App Service部署

enter image description here

此方法似乎针对整个应用程序服务,而不是单个Web作业。我没有尝试使用此方法运行它,因为我担心它可能会耗尽我的整个应用程序服务,并用我的单个Web作业替换它。我的想法是,可能有一种方法可以设置要部署到其中的应用程序服务的“子文件夹”。但是我在任何选项中都没有看到类似的设置。 是否可以设置“ Azure App Service Deploy”以部署到单个Web作业文件夹?

或者,是否存在完全不同的方式来部署单个Web作业?

1 个答案:

答案 0 :(得分:2)

我认为您需要确保工件的结构与子文件夹完全匹配。看到这里:http://www.bravegeek.com/2016/12/03/Deploy-WebJobs-from-Team-Services/

相关部分:
在构建定义中,在构建步骤之后添加一个“复制文件”步骤。
设置这些属性
源文件夹:src / WebJobTest / bin / $(BuildConfiguration)/
内容:**
目标文件夹:$(build.artifactstagingdirectory)\ WebJobTest \ App_Data \ jobs \ continuous \ WebJobTest