如何将Azure DevOps发布管道部署的WebJob从持续型改为触发型?
将Azure DevOps发布管道中的持续型WebJob改为触发型
1. 调整WebJob的目录结构
触发型(triggered)和持续型(continuous)WebJob的部署目录要求不同,必须先调整项目输出结构:
- 持续型WebJob默认路径:
App_Data/jobs/continuous/[WebJob名称] - 触发型WebJob需改为:
App_Data/jobs/triggered/[WebJob名称] - 如果是和主Web应用一起发布,在Visual Studio中可直接修改WebJob项目的输出路径,指向主Web项目的对应目录,确保发布包中包含正确的结构。
2. 配置Azure App Service Deploy任务
打开Azure DevOps发布管道中的Azure App Service deploy任务,做以下检查和配置:
- 确认Package or folder选项指向的发布包已包含
App_Data/jobs/triggered/[WebJob名称]的完整结构 - 若单独部署WebJob(不依赖主Web应用),无需额外修改任务的核心配置,只要包结构正确即可完成部署
3. 添加触发规则配置(按需设置)
触发型WebJob需要通过settings.job文件定义触发逻辑,将该文件放在WebJob的根目录(与可执行文件同级):
- 示例定时触发的
settings.job内容:
{ "schedule": "0 */15 * * * *" // 每15分钟触发一次 }
- 确保该文件被包含在发布包中,部署时会自动上传到Azure的WebJob目录
注意事项
- 若之前部署过同名的持续型WebJob,建议先在Azure门户的App Service -> WebJobs面板中删除旧的WebJob,避免部署冲突
- 触发型WebJob无需配置持续运行的相关设置,Azure会根据
settings.job自动管理触发逻辑
内容的提问来源于stack exchange,提问作者Xile
相关产品推荐
相关产品推荐

