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...
Другие вопросы по тегам