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"
}]
}
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"
}
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.
Hasta que Azure cuente con un mecanismo mejor soportado para esto, podría buscar en las secuencias de comandos usando PowerShell. Ver: crear un WebJob de Azure programado con PowerShell