My scenario is this:

* I use BitBucket, and track everything there
* My project consist of .cshtml files and static assets
* JS and CSS (scss) needs to be minified. I use gulp for this.
* npm needs to be installed.

What I need to have happen is this:

* When I push to master I need to deploy those changes to a deployment server (not azure - my own dedicated windows server)
* I need to run npm to make sure everything is installed
* I need to run gulp

How would I go about doing this? Especially the part about pushing changes to deployment server in the correct path.

Any advice would be welcome.