VSTS Web Release Smoke Test
TFS and VSTS release task to validate that a web app is available and running after in the release. Written in node, not powershell, so may run on non-windows based build agents.
This task will do a http or https Get call on a url, or a list of urls and check that it receives an expected return code. You may place multiple URLs in a comma separated string in the URL input, this allows you to easily set up a check on multiple individual servers in a server farm when applicable. You may also Specify a number of retries, so that if a given call fails when first called the task will attempt to retry the call. This allows for applications where the first call may time out or otherwise fail due to any sort of server "spin up" or other issues, but you don't want to fail the release for those situations.
Input Value usage
Url(s) the url or list of URLs to call. The address information should include the protocol desired (http:// or https://). This may be a list of addresses that are comma separated.
Ex. "http://www.oneluckidev.com" Ex2. "http://server1/api/healthcheck, http://server2/api/healthcheck, http://server3/api/healthcheck"
Expected Return Code -- the response code returned by the server that you are expecting. Ex. 200
Number of Retry Attempts -- the number of attempted retries that the task should go through before failing the task.
Ex. 3 --- three retries will give a total of four calls the first call, and then three retry attempts Ex2. 0 --- Zero retries to fail after the first call
Delay Between Retries -- The duration to wait between retry attempts. This value is in milliseconds and defaults to 1000 (i.e. 1 second).
strictSSL -- Checkbox to turn on or off stricSSL on the Request. Turning this off will let the request ignore certificate issues (such as self-signed certificates).
Smoke Test task goals
Simple task to test the availability of a web applicaiton or api after a deployment to verify that there is some expected response. This allows for a sanity check at the end of the release in to an environment to verify that what was deployed is actually functional.
Since the task is executed by the build agent, your build machines has to have access to the website you are trying to call.
Icon - Smoke Detector by Arthur Shlain from the Noun Project