Как я могу сказать композитору, какой ключ использовать для данного репозитория композитора?

У меня следующая ситуация:

У меня есть проект, размещенный в частном репозитории на bitbucket, для которого я использую ключ развертывания # 1.

В этом файле компоновщика этого проекта находится зависимость, размещенная в репозитории удовлетворительно, и она извлекается из другого частного репозитория битовых корзин с использованием ключа развертывания № 2.

У меня есть ключ развертывания # 1, хранящийся в ~ / .ssh / id_rsa, поэтому git pull работает из коробки, а ключ развертывания # 2 хранится в ~ / .ssh / id_composer
Как я могу сказать композитору использовать этот второй ключ при запуске обновления композитора?

Это то, что у меня пока есть в моем composer.json, но это не помогает, и у меня возникают проблемы с поиском необходимых опций, которые я должен указать.

"repositories": [
{
"type": "composer",
"url": "http://custom-satis-repo-url",
"options": {
"git": {
"pubkey_file": "~/.ssh/id_composer.pub",
"privkey_file": "~/.ssh/id_composer"}
}
}
],

Любая помощь будет оценена.

Спасибо.

8

Решение

Одним из способов достижения этого может быть использование файла конфигурации ssh.

В более общем смысле, это позволяет вам настраивать соединения SSH для использования определенных учетных данных для «виртуальных» хостов, что, таким образом, позволяет изменять способ подключения к репозиториям Git и, следовательно, может использоваться для изменения зависимостей Composer, использующих ssh.

редактировать vim ~/.ssh/config например

Host fake-repo-url
User git
HostName actual-repo-url
IdentityFile ~/.ssh/id_composer

Вам нужно будет вставить поддельные-репо-URL-адреса в ваш файл contrib package.json, которые сделают их бесполезными для тех, у кого нет конфигурации, — но я полагаю, что это нормально, поскольку вы ограничиваете доступ.

(Я использую этот трюк как способ маскировки личных учетных записей для «edit-remote» на хостах развертывания только для чтения, которые требуют очень редких коммитов!)

Есть много руководств там Конфигурация SSH например этот на nixCraft

Вторая идея:

В качестве альтернативы вы можете исследовать опция ‘scripts’ в Composer. Вы можете запустить скрипт, который что-то поменяет во время процесса обновления / установки.

5

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

Других решений пока нет …

По вопросам рекламы [email protected]