Jak skonfigurować prywatne repozytorium pakietów?

11

Napisałem kilka pakietów dla GNU Emacs, ale są one bezużyteczne poza środowiskiem mojej firmy. Chcę móc udostępniać pakiety innym programistom z mojej firmy. Chcę również, aby pakiety były łatwo wykrywalne za pośrednictwem package-list-packages.

Myślę, że prywatne repozytorium rozwiąże moje problemy, ale nie mogę znaleźć instrukcji na temat konfiguracji archiwów osobistych. O ile rozumiem, instrukcja informacyjna Elisp sugeruje proste katalogi i package-upload-file, ale nie sądzę, że gra dobrze z jednoczesnymi aktualizacjami pakietów. Czy są jakieś inne opcje, które są stosunkowo łatwe do skonfigurowania?

roman-kashitsyn
źródło
1
Łatwą drogą byłoby utworzenie prywatnych repozytoriów git dla wszystkich bibliotek i poinstruowanie innych, aby używali quelpa do instalacji. Nie będzie wokół tego miłego menu, ale wykrywalność jest tak łatwa, jak przeglądanie profilu lub strony organizacji na hostach git.
Jordon Biondo,
1
github.com/redguardtoo/elpa-mirror może to może pomóc? Tak naprawdę nie zajrzałem do środka.
wvxvw
Czy to naprawdę pytanie Emacsa?
Drew

Odpowiedzi:

7

Źródło Melpy jest dostępne , więc możesz po prostu sklonować go i uruchomić na serwerze skonfigurowanym tak, aby był dostępny tylko z twojego biura (a nie z całego Internetu). Twoi programiści musieliby mieć dostęp do serwera i musieliby dodać archiwum w package-archivestaki sam sposób, jak Melpa, Marmalade lub inne. Pakiety pojawiłyby się package-list-packagesi będą mogły być instalowane i aktualizowane tak jak wszystkie inne.

zck
źródło
Jak to stanowi prywatne repozytorium? Nie wydaje się odpowiadać na pytanie.
Drew
3
@Drew Zakładałem, że serwer, którego użyłby Roman-Kashitsyn, znajdowałby się w wewnętrznej zaporze ogniowej firmy, niedostępnej z szerszego Internetu. Zaktualizowałem swoją odpowiedź, aby to wyjaśnić.
zck
1
Jedną z rzeczy, których nie lubię w Melpie, jest to, że melpa-the-recepty są splątane z melpa-the-application w tym samym repozytorium. Może to być problem z połączeniem poprawek i nowych funkcji w moim prywatnym rozwidleniu. Ale melpa jest prawdopodobnie najlepszą opcją do wypróbowania.
roman-kashitsyn,
5

Przepraszam za odpowiedź późno. Do tej pory nie widziałem tego, ale odpowiedziałem na podobne pytanie Jak skonfigurować serwer Elpa? wczoraj. Najpierw tam zajrzyj.

Krótko mówiąc, bardzo łatwo jest skonfigurować własne lokalne archiwum pakietów z package-xfunkcją Emacsa . Moje powyższe rozwiązanie to dziesięć linii kodu lisp. Utworzenie własnej strony MELPA to dużo pracy w porównaniu. A proszenie użytkowników o konfigurację i korzystanie z Quelpy wymaga od nich wielu pytań. W ten sposób po prostu używają standardowego sposobu Emacsa ... o ile wykonasz zadanie skonfigurowania serwera WWW, aby udostępnić im swoje archiwum pakietów.

Cena Rodneya
źródło
0

https://github.com/redguardtoo/elpa-mirror

Utwórz lokalne repozytorium pakietów Emacsa. Tylko zainstalowane pakiety zostaną uwzględnione w repozytorium.

Więc sieć nie jest wymagana, a rozmiar repozytorium będzie znacznie mniejszy (2 MB po skompresowaniu dla około 160 pakietów).

Poza tym, ponieważ pakujesz tylko pakiety lokalne, masz 100% pewności, że są one stabilne na nowym komputerze, ponieważ używasz dokładnie tej samej wersji pakietów na różnych komputerach.

Chen Bin
źródło