Build přímo na produkčním stroji není úplně nejlepší nápad - je tam příliš mnoho věcí k selhání.
Standardní postup je provést build na nějakém speciálním místě a na produkční (ale předtím na testovací, samozřejmě) servery se nasazuje binární balíček. Doporučuji DEB, případně RPM.
Pro build existuje spousta buildserverů (či CI serverů, to je dnes častější termín). Pro vlastní servery třeba Jenkins, opensource projekty pak často používají hostované (travis, circleci).
Pro vyrobení balíčku existuje šikovná utilitka fpm:
https://github.com/jordansissel/fpmPro samotné nasazení pak lze použít puppet či ansible, to už prostě záleží na jiných faktorech. Puppet ale zrovna na tohle není příliš vhodný z principu svého fungování (release nové verze aplikace typicky chceme jako "push").