Chciałbym zrobić migawkę globalnej bazy danych Hackage na zamrożoną, mniejszą dla wdrożeń mojej firmy. Jak można najłatwiej skopiować jakiś segment Hackage na prywatny serwer?W jaki sposób można zrobić prywatną kopię Hackage
Odpowiedz
Oto jeden skrypt, który robi to w niemal najprostszy z możliwych sposobów: https://github.com/jamwt/mirror-hackage
Można również użyć MirrorClient bezpośrednio z hackage2 repo: http://code.haskell.org/hackage-server/
Bardzo fajnie. 'mirror-hackage' może wystarczyć, ale nigdy nawet nie pomyślałem o przejrzeniu kodu Hackage2, aby spróbować go użyć. Jaka jest stabilność Hackage2 w tych dniach? –
To nie jest odpowiedź dwa pytanie w tytuł, ale odpowiedź na moją interpretację tego, co OP chce osiągnąć.
W zależności od tego, czego oczekujesz od poziomu stabilności w swoim kręgu produkcyjnym, możesz podejść do problemu na kilka sposobów.
Rozdzieliłem zależności na dwie części, rzeczy, których mogę użyć na platformie haskell (zachowaj wszystkie platformy używane w produkcji), a następnie używaj tylko niewielkiej liczby pakietów poza tym i nie pozwól nikomu (w tym ty sam) dodaj więcej pakietów do twojego drzewa zależności tylko z powodu lenistwa (jako programista). Te dodatkowe pakiety używają jakiegoś skryptu i zbierają z hackage (lock to version) za pomocą cabal fetch. Pilnuj ich. Utwórz skrypt instalacyjny korzystający z bezpiecznych pakietów, a jeśli do Twojego zespołu zostanie dodany nowy komputer (programista), użyj tego skryptu.
yackage jest świetny, ale wszystko sprowadza się do sposobu wysyłki produktu. Jeśli masz starsze wersje w produkcji, musisz mieć konfigurację yackage dla każdej wersji, która może być cicha i denerwująca po kilku latach.
Możesz pobrać Hackage z Voker57's hackage-mirror.sh. Będziesz potrzebował "curl", aby uruchomić. Jeśli używasz dystrybucji Debiana opartej na systemie Linux, możesz zainstalować curl, wpisując apt-get install curl.
Sprawdź [yackage] (http://hackage.haskell.org/package/yackage), który jest prostym serwerem typu hackage. [Hackage trac] (http://hackage.haskell.org/trac/hackage) to miejsce, w którym instrukcje miały skopiować cały hackage, ale obecnie nie działa i nie pamiętam wyraźnego kierunku, w jaki sposób wykonać częściowe tworzenie kopii lustrzanych. – Davorak
Istnieje link do pobrania archiwum najnowszych wydań wszystkich pakietów w Hackage na pierwszej stronie. Czy to wystarczy? –
Chciałbym skutecznie mieć migawkę tylko bibliotek, które chcę użyć w produkcji, aby deweloper i budować pudełka można zainstalować z tego źródła. Yackage może działać. –