Как настроить закрытое хранилище пакетов?

11

Я написал несколько пакетов для GNU Emacs, но они бесполезны вне среды моей компании. Я хочу иметь возможность поделиться пакетами с другими разработчиками из моей компании. Я также хочу, чтобы пакеты легко обнаруживались через package-list-packages.

Я думаю, что частный репозиторий решит мои проблемы, но я не могу найти руководство по настройке личных архивов. Насколько я понял, информационное руководство по Elisp предлагает простые каталоги и package-upload-file, но я не думаю, что оно хорошо сочетается с одновременными обновлениями пакетов. Есть ли другие варианты, которые относительно легко настроить?

римский Кашицын
источник
1
Простой способ - создать частные git-репозитории для всех ваших библиотек и дать указание другим пользователям использовать quelpa для установки. Вокруг него не будет красивого меню, но обнаружение так же просто, как просмотр профиля или страницы организации на хостах git.
Джордон Биондо,
1
github.com/redguardtoo/elpa-mirror может быть, это может помочь? Я действительно не заглянул внутрь.
wvxvw
Это действительно вопрос Emacs?
Дрю

Ответы:

7

Источник Melpa доступен , так что вы можете просто его клонировать и запустить на сервере, настроенном для доступа только из вашего офиса (а не из всего Интернета). Ваши разработчики должны будут иметь доступ к серверу и добавлять архив package-archivesтаким же образом, как это делают Melpa, Marmalade или другие. Пакеты будут отображаться в package-list-packages, и смогут быть установлены и обновлены, как и любой другой.

zck
источник
Как это составляет частный репозиторий? Кажется, не отвечает на вопрос.
Дрю
3
@Drew Я предполагал, что сервер, который будет использовать roman-kashitsyn, будет находиться внутри брандмауэра компании и недоступен из более широкого Интернета. Я обновил свой ответ, чтобы прояснить это.
Zck
1
Одна вещь, которая мне не нравится в Melpa, - это то, что рецепты melpa запутаны с приложением melpa в одном и том же хранилище. Так что может быть сложно объединить исправления и новые функции в мой приватный форк. Но Melpa, вероятно, лучший вариант, чтобы попробовать.
Роман Кашицын
5

Извините, что отвечаю поздно. Я не видел этого до сих пор, но я ответил на аналогичный вопрос Как мне настроить сервер Elpa? вчерашний день. Посмотрите там в первую очередь.

Короче говоря, на самом деле очень легко настроить свой собственный локальный архив пакетов с помощью функции Emacs package-x. Мое решение выше - десять строк кода LISP. Создание собственного сайта MELPA - это много работы по сравнению. А то, что ваши пользователи настраивают и используют Quelpa, требует от них многого. Таким образом, они просто используют стандартный способ Emacs ... до тех пор, пока вы выполняете работу по настройке веб-сервера для предоставления им вашего пакета архивов.

Родни Прайс
источник
0

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

Создать локальный репозиторий пакетов Emacs. Только установленные пакеты будут включены в репозиторий.

Таким образом, сеть не требуется, и размер вашего хранилища будет намного меньше (2 Мбайт после архивации для 160 пакетов).

Кроме того, поскольку вы упаковываете только локальные пакеты, вы на 100% уверены, что эти пакеты стабильны на новом компьютере, поскольку вы используете точно одинаковую версию пакетов на разных компьютерах.

чен бен
источник