Shipit
Universal automation and deployment tool
...You can overwrite all default variables defined as part of the default object. If you can't call shipit.initConfig(...) right away because you need to get data asynchronously to do so, you can return a promise from the module. List of files excluded in copyFromRemote or copyToRemote methods. Allows you to ‘become’ another user, different from the user that logged into the machine (remote user). If shallowClone is set to false, this directory will be used to clone the repository before deploying it.