Nějak jste nezmínil PAR (perl archive, obdoba WAR/JAR).
Jinak pro balení a distribuci používám cca toto (moje aplikace je sice v javě, ale to na postupu nic nemění):
1) build skriptem se vytvoří RPM (se všemi závislostmi, protože někdy je produkční prostředí bez možnosti stahovat z netu)
2) pro "staging" fázi se nainstaluje RPM na čistý virtuální stroj
3) aktualizace na produkčním prostředí se provede jednoduše upgradem balíku
Testy mám zatím jen v kroku 1 a 2, ale můžete si něco malého nechat spustit i na produkčním stroji. Jen bych nedoporučovat spouštět celou baterii, maximálně jen zkoušku na ty závislosti.
In Ada the typical infinite loop would normally be terminated by
detonation.