Частные git-репозитории Composer с уникальным элементом конфигурации для того же сервера

У меня есть частный репозиторий git, расположенный по адресу username@somedomain.com, к которому я обращаюсь по ssh.

Мне нужно включить 2 проекта с одного сервера, и я делаю так:

"require": {
"proj1": "dev-master",
"proj2": "dev-master",
},"repositories": [
{
"type": "vcs",
"url": "username@somedomain.com:proj1.git"},
{
"type": "vcs",
"url": "username@somedomain.com:proj2.git"}
]

Может случиться так, что количество этих репо возрастет. Есть ли шанс, что я могу настроить что-то вроде

"url": "username@somedomain.com"

и пусть композитор решит, где найти пакеты?

Обратите внимание, что я не хочу использовать suc или любой другой менеджер пакетов.

0

Решение

Существует только способ обработки частных проектов без прямого определения composer.json — используйте Satis или Toran Proxy.

https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md

1

Другие решения

Composer позволяет вам добавлять репозитории, которые также будут проверяться на наличие пакетов в дополнение к использованию Packagist.

Обратите внимание, что вы не указали, какой пакет должен быть найден в этих репозиториях, потому что Composer будет сканировать их для composer.json и определите, какие пакеты доступны (один репозиторий может содержать более одного пакета в разных ветвях!).

Поскольку каждый репозиторий не зависит друг от друга, вы должны упомянуть их все по отдельности.

Также обратите внимание, что Composer позволяет добавлять эти репозитории только на корневом уровне, поэтому вам придется повторять каждый репозиторий, который используется в ваших зависимостях, снова в корневом проекте, даже если этот корневой проект не имеет прямой зависимости от пакета, который предоставляется в таком хранилище.

Чтобы избежать этого, нужно иметь Packagist-подобный репозиторий, который создается с помощью Satis, Toran или локальной установки самого Packagist. Я рекомендую идти по этому пути, даже если вы говорите, что не хотите.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector