У меня следующая ситуация:
У меня есть проект, размещенный в частном репозитории на 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"}
}
}
],
Любая помощь будет оценена.
Спасибо.
Одним из способов достижения этого может быть использование файла конфигурации 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. Вы можете запустить скрипт, который что-то поменяет во время процесса обновления / установки.
Других решений пока нет …