PM2 basically deamonizes node express... and when new files are uploaded need to run "pm2 restart"
A TeamCity plugin to ssh and run the above command is a must, and I can't seem to find one that exists.
I wrote a simple PowerShell script to execute PLink (from Putty) but will fail if the host thumbprint isnt already in the list of cached entries. Plink does provide means to enter the location of the private key file, but another/better solution ahould be used.
Follow-up: The TeamCity plug-in "Deployment" or "Deployer" contains this SSH Exec build runner... and a few others on the team are using it in their own projects. It really is a time/life saver.