Автор Тема: PHP Composer, Git submodules и Assembla  (Прочитано 4393 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн zizop

  • Опытный
  • ***
  • Сообщений: 70
  • Карма: 10
    • Zend Framework (PHP) программист
PHP Composer, Git submodules и Assembla
« : Декабрь 06, 2012, 12:58:12 »
Недавно столкнулся с таким косяком, есть библиотеки в vendor, которые ставит Composer. Но при коммите вместо них комиттсятся пустые папки, и соответственно при git pull потом тоже, в результате код не деплоится. Нашел выход, но не уверен, что он оптимальный. Может есть другое решение?

PHP Composer, Git submodules и Assembla

Оффлайн dmitrybelyakov

  • Team
  • Мастер
  • ***
  • Сообщений: 429
  • Карма: 46
  • джедайская сила
Re: PHP Composer, Git submodules и Assembla
« Ответ #1 : Декабрь 06, 2012, 13:34:25 »
А зачем их вообще коммитить?

Оффлайн Zh0rzh

  • Team
  • Герой
  • ***
  • Сообщений: 1312
  • Карма: 80
Re: PHP Composer, Git submodules и Assembla
« Ответ #2 : Декабрь 06, 2012, 15:27:50 »
Кстати, да. У меня во время подкаста, когда ты рассказывал об этом, какие то сомнения закрались.

Для чего нужно комитить зависимости в репо? Ведь их может быть очень много.

Оффлайн dmitrybelyakov

  • Team
  • Мастер
  • ***
  • Сообщений: 429
  • Карма: 46
  • джедайская сила
Re: PHP Composer, Git submodules и Assembla
« Ответ #3 : Декабрь 06, 2012, 16:19:27 »
Более того они сами частенько обновляются. Лучше как этап деплоя делать composer update.

Оффлайн BladeOfSteel

  • Герой
  • *****
  • Сообщений: 840
  • Карма: 85
    • Заметки о вебдеве и не только
Re: PHP Composer, Git submodules и Assembla
« Ответ #4 : Декабрь 06, 2012, 17:09:57 »
Лучше как этап деплоя делать composer update.

А вот это - не факт. Как бы новая версия чего не поломала.
Мои статьи о ZendFramework
Мой персональный блог
---
Не забываем ставить плюсик в карму помогавшим ;)

Оффлайн dmitrybelyakov

  • Team
  • Мастер
  • ***
  • Сообщений: 429
  • Карма: 46
  • джедайская сила
Re: PHP Composer, Git submodules и Assembla
« Ответ #5 : Декабрь 06, 2012, 17:13:51 »
А вот это - не факт. Как бы новая версия чего не поломала.

Можно указать конкретный номер версии в зависимостях.
Ну и разумеется не деплоить в лайв без проверки или тестирования.

Оффлайн BladeOfSteel

  • Герой
  • *****
  • Сообщений: 840
  • Карма: 85
    • Заметки о вебдеве и не только
Re: PHP Composer, Git submodules и Assembla
« Ответ #6 : Декабрь 06, 2012, 17:23:11 »
При деплое надо использовать composer install
А update должен делать разработчик и проверять, что все работает
Мои статьи о ZendFramework
Мой персональный блог
---
Не забываем ставить плюсик в карму помогавшим ;)

Оффлайн Zh0rzh

  • Team
  • Герой
  • ***
  • Сообщений: 1312
  • Карма: 80
Re: PHP Composer, Git submodules и Assembla
« Ответ #7 : Декабрь 06, 2012, 19:24:15 »
А вот это - не факт. Как бы новая версия чего не поломала.

Можно указать конкретный номер версии в зависимостях.
Ну и разумеется не деплоить в лайв без проверки или тестирования.

Не можно, а нужно указаывать конкертный номер. И повышать его в ручную, отдавая себе отчет о последствиях.

Оффлайн dmitrybelyakov

  • Team
  • Мастер
  • ***
  • Сообщений: 429
  • Карма: 46
  • джедайская сила
Re: PHP Composer, Git submodules и Assembla
« Ответ #8 : Декабрь 07, 2012, 14:43:39 »
Не можно, а нужно указаывать конкертный номер. И повышать его в ручную, отдавая себе отчет о последствиях.

А у нас неплохо работает dev-master причем для своих и сторонних компонентов. При такой настройке composer update обновляет все до последней версии, после чего запускается консольная утилита, накатывающая миграции и выполняющая прочие мелкие таски.

Оффлайн Zh0rzh

  • Team
  • Герой
  • ***
  • Сообщений: 1312
  • Карма: 80
Re: PHP Composer, Git submodules и Assembla
« Ответ #9 : Декабрь 09, 2012, 17:54:14 »
Не можно, а нужно указаывать конкертный номер. И повышать его в ручную, отдавая себе отчет о последствиях.

А у нас неплохо работает dev-master причем для своих и сторонних компонентов. При такой настройке composer update обновляет все до последней версии, после чего запускается консольная утилита, накатывающая миграции и выполняющая прочие мелкие таски.

Вот вам будет весело, когда в день релиза один из сторонних компонентов порушит совместимость :)

Оффлайн dmitrybelyakov

  • Team
  • Мастер
  • ***
  • Сообщений: 429
  • Карма: 46
  • джедайская сила
Re: PHP Composer, Git submodules и Assembla
« Ответ #10 : Декабрь 10, 2012, 13:31:46 »
Вот вам будет весело, когда в день релиза один из сторонних компонентов порушит совместимость :)

В этом смысле у нас релиз каждый день, поэтому такие проблемы быстро решаются, хотя некоторые компоненты (типа доктрины) все таки заморожены на конкретных номерах версий.