Cloudcontrol: как установить частные репозитории с помощью composer в процессе сборки образа?
Я использую cloudcontrols стандартный buildback-php. Я использую Composer для установки сторонних библиотек. Они также включают частные репозитории git, обычно доступные через ключи развертывания ssh.
Проблема: доступ к закрытым репозиториям во время процесса создания образа cloudcontrol не работает из-за отсутствия закрытых ключей ssh.
Я нашел обходное решение, которое, кажется, работает с heroku (закрытый ключ загружается, расшифровывается и устанавливается в процессе сборки):
https://github.com/taniele/heroku-buildpack-php-mongo
Другим решением является fortrabbit (одноразовая генерация ssh-ключей на стороне сервера):
http://fortrabbit.com/docs/in-depth/git-hooks/sshkeygen
Вопросы:
Есть какое-нибудь известное безопасное решение для cloudcontrol?
Как я могу получить доступ к CONFIG_VARS, добавленному через расширение config или связанный файл creds.json во время процесса создания образа перед запуском composer?
1 ответ
cloudControl предоставляет пару ключей для каждого приложения. Открытый ключ предоставляется через клиент командной строки и может использоваться для доступа к закрытым репозиториям. При извлечении зависимостей из репозиториев Git через SSH эта пара ключей используется автоматически. Просто разрешите доступ к соответствующему хранилищу, используя этот открытый ключ.
Вы можете получить ключ с помощью этой команды:
$ cctrlapp APP_NAME details
[..]
Public Key: ssh-rsa AAAAB3NzaC...