Jaki jest najlepszy system do instalacji aplikacji internetowej Perl?

Wydaje się, że większość instalatorów Perla koncentruje się na instalowaniu modułów Perla, a nie aplikacji. Rzeczy takie jak ExtUtils :: MakeMaker i Module :: Build doskonale nadają się do modułów, ale wymagają dodatkowej pracy dla aplikacji internetowych.

Idealnie byłoby miło wykonać następujące czynności po sprawdzeniu źródła z repozytorium:

Wykryto brakujące zależnościPobierz i zainstaluj zależności od CPANUruchom komendę, aby „Zbudować” źródło w stan końcowy (wykonać dowolne analizowanie źródła lub konfigurację niezbędne dla środowiska lokalnego).Uruchom polecenie, aby zainstalować wbudowane pliki w odpowiednich miejscach. Nie tylko moduły perla, ale także takie rzeczy jak pliki szablonów (.tt), skrypty CGI, JS i pliki obrazów, które powinny być dostępne w Internecie.Upewnij się, że na zainstalowanych plikach ustawione są odpowiednie uprawnienia (w razie potrzeby w kontekście SELinux).

W tej chwili mamy system oparty naModule :: Build to robi większość tego. Praca została wykonana przez mojego współpracownika, który uczył się obsługiModule :: Build w tym czasie i chcielibyśmy zasięgnąć porady na temat uogólnienia naszego rozwiązania, ponieważ obecnie jest ono dość specyficzne dla aplikacji. W szczególności nasz system wymaga ręcznego instalowania zależności (chociaż je wykrywa).

Czy jest jakiś konkretny system, który był szczególnie udany? Czy musisz napisać instalator na podstawieModule :: Build lubExtUtils :: MakeMaker to jest specyficzne dla twojej aplikacji, czy jest coś bardziej ogólnego?

EDYTOWAĆ: Aby odpowiedzieć na pytania Briana poniżej:

Możemy zalogować się do maszynNie mamy uprawnień administratora do komputerówWszystkie maszyny są (pozornie) identycznymi kompilacjami RHEL5 z włączonym SELinuxObecnie ludzie instalujący komputery są tylko programistami z naszej grupy, a nasze źródło nie jest dostępne dla ogółu społeczeństwa. Jednak możliwe jest, że nasze źródło zostanie ostatecznie zainstalowane na cudzych maszynach w naszej organizacji, które zostaną zainstalowane przez ich programistów lub ludzi systemów.Instalujemy przez wyewidencjonowanie z repozytorium, chociaż chcielibyśmy mieć możliwość korzystania z archiwum rozproszonego (patrz wyżej).

questionAnswers(4)

yourAnswerToTheQuestion