tutorial porta microsoft deploy git azure continuous-deployment azure-webjobs

git - microsoft - porta azure



El Azud WebJob programado implementado a través de Git da como resultado un trabajo bajo demanda (3)

Tengo una aplicación Web ASP.NET habilitada para Git con un Azure WebJob asociado. Cuando despliego esto a través de Visual Studio todo está bien, pero esto es un poco difícil en un Entorno de Entrega Continua, por lo que me gustaría publicar la Aplicación Web y el WebJob a través de Git.

A través de Azure Tooling, asocié mi proyecto WebJob y obtuve un archivo "webjobs-list.json" dentro del proyecto de aplicación web:

{ "$schema": "http://schemastore.org/schemas/json/webjobs-list.json", "WebJobs": [{ "filePath": "../CodeInside.Hub.Job/CodeInside.Hub.Job.csproj" }] }

1.
webjobs-list.json Fuente

Dentro del Proyecto de aplicación de la consola obtuve un archivo "webjob-publish-settings.json" con este contenido:

{ "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", "webJobName": "Hub-Crawler", "startTime": "2014-11-25T02:00:00+01:00", "endTime": null, "jobRecurrenceFrequency": "Day", "interval": 1, "runMode": "Scheduled" }

webjob-publish-settings.json

Como puede ver, "runMode" está configurado en "Scheduled" y todo está bien cuando lo despliego a través de Visual Studio.

Pero sin Visual Studio obtuve este WebJob "a pedido":

¿Actualmente no es compatible o cuál podría ser el problema?

El .sln completo se puede encontrar en GitHub


De hecho, el problema es que el escenario aún no está bien soportado. Específicamente, al publicar a través de git (o GitHub / Bitbucket), se webjob-publish-settings.json el webjob-publish-settings.json .

Una solución es publicar una vez usando VS solo para crear el programador, y luego usar git después.

Eventualmente, este escenario se resolverá mediante el uso de plantillas de Azure Resource Manager que definen tanto el sitio web como el planificador. Técnicamente, esto se puede hacer hoy, pero todavía no hay mucha documentación disponible.


Finalmente, hay una solución para implementar webjobs programados con implementación de git.

Este blog tiene detalles.

La solución utiliza el planificador de kudu en lugar del planificador de Azure, por lo que el portal de Azure aún muestra el trabajo como "A solicitud", pero se ejecuta por calendario y el portal muestra el historial con precisión.