Ejecute testings de aceptación / humo después del deployment

He configurado la implementación continua desde un repository de Visual Studio Online Git a una aplicación web de Azure.

¿Cuál es la mejor manera de ejecutar testings de aceptación / humo en el website después de que se haya activado una compilation y se haya completado la implementación?

Ya he probado POST_DEPLOYMENT_ACTION ( ¿Cómo agregar una secuencia de commands de implementación posterior personalizada a los sitios web azules? ), Pero parece que se ignora.

También eché un vistazo al enganche PostDeployment de Kudu ( https://github.com/projectkudu/kudu/wiki/Post-Deployment-Action-Hooks ), que parece excesivamente hacky.

Estoy implementando un sitio ASP.NET 4 MVC estándar por cierto. Cualquier ayuda apreciada.

¿Qué tiene de hacky el gancho PostDeployment?

Una alternativa a esto podría ser suscribirse al enlace PostDeployment del sitio Kudu / SCM

 POST /api/hooks { "url": "http://www.callback.com/callback", "event": "PostDeployment", "insecure_ssl": false (set to true to ignore https certificate check, for test purposes only) } 

Eso le daría un POST como el que se muestra a continuación en la URL especificada cuando finalice la implementación:

 { "id": "cd5bee7181e74ea38a3522e73253f6ebb8ed72fb", "status": "success", (could be pending, building, deploying, failed, success) "author_email": "someone@somewhere.com", "author": "Some One", "message": "My fix", "deployer": "Some One", "start_time": "2013-06-06T01:24:16.5873293Z", "end_time": "2013-06-06T01:24:17.63342Z" } 

Más información aquí en kudu github wiki

Lo que terminé haciendo fue personalizar el process de compilation para agregar un RunScriptTask al final, que invoca mis testings.

Puede pasar los parameters de compilation a RunScriptTask de la siguiente manera:

 "-username user@example.org -password test123 -environment " + DeploymentSettings.GetValue(Of String)("ProviderHostedDeploymentEnvironmentName") 

Si edita la definición de construcción desde Visual Studio -> Team Explorer -> Builds, hay una pestaña a la izquierda llamada Process que divide los pasos de compilation. Si hace clic en Mostrar detalles en la parte superior, hay una opción para download la plantilla de process de compilation de XAML. Puede personalizar esto como desee y luego crear una nueva plantilla de process de compilation a partir de ese file. (Tenga en count que el file de plantilla de process de compilation XAML debe enviarse al repository remoto de antemano)