Проблема

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

Состав

  • TODO

Порты

  • 22 -> 2222 для SSH
  • 7777 -> 7777 для gdb

Настройка

  1. Создадим сеть для общения между контейнерами docker network create kphp_network

  2. docker-compose up -d

  3. Открыть CLion

  4. Перейти Preferences > Build, Execution, Deployment > Toolchains

  5. Добавить через новый тип Remote Host

  6. Нажать на ⚙️ в Credentials

  7. Создать новое подключение через

  8. Заполнить поля Host, Port, Username, Password

    Используем логин kitten

  9. По итогу должна получиться такая картина:

  10. Перейти Preferences > Build, Execution, Deployment > CMake

  11. Скопировать или создать новый профиль

  12. Дать название профиля в поле Name

  13. Поменять Toolchains на Remote Host

  14. При запуске, поменять профиль на созданный

  15. Перейти Preferences > Build, Execution, Deployment > Deployment

  16. Изменить Deployment path на /home/kitten/kphp

  17. Также cmake файлы KPHP используют папку .git. Изначально она не доставляется в контейнер Для этого требуется перейти Tools > Deployment > Options и удалить .git из списка Exclude

Возможные проблемы

  • Возможно Docker будет резать по правам
  • Проблемы с GDB ??? (не проверял)

Примечание

  • После изменения в Dockerfile не забываем добавлять флаг --build
  • При использовании postgres в качестве host указывается имя контейнера

Переделать / Доделать

Часть документации актуализирует @Ramzeeset

  • Прокидывание root пароля с env файла для ssh
  • Скрипт для запуска
  • Перенести сборку в отдельный файл
  • Улучить ИБ
  • Вынести настройки портов в отдельный конфиг
  • Описать проблему с профилями
  • Описать проблему с SSH ключами / чейнами
  • Описать сложность с Deployment