2016-06-17 1 views
0

Я работаю над веб-браузером Laravel прямо сейчас и сохранил каталог vendor из git (контроль версий) до сих пор и каждый раз для новой установки. Раньше у меня была добавлена ​​команда установки композитора для автоматического сценария, и все было в порядке.Установка php-композитора или НЕ? для производственных сред

Теперь всего за 2 дня назад я добавил добавленный laravelcollective (https://laravelcollective.com/) в свой проект, чтобы помочь мне с формами и html в шаблонах клинков. Теперь как-то одна из зависимостей требует от меня генерировать личный токен GIT для его установки, и это боль, поскольку это может повредить моей автоматизации. Я все еще могу взломать его, вызвав URL-адрес и сломав html, чтобы прочитать токен и все такое, но мне это не нравится. И тогда я подумал, что это хорошая идея сохранить каталог vendor из SVN/GIT? Разве исходный код для продукта не содержит всех зависимостей внутри себя? Я не говорю о заполнении JRE в установщике, но когда дело доходит до библиотек продукта на родном языке.

Я хотел бы узнать больше об этом по отраслевым стандартам или передовой практике.

P.S: Этот вопрос очень общий и не ограничивается только laravel или даже php.

+1

«Не является ли исходный код для продукта содержать все зависимости внутри себя?» - Все зависимости перечислены, и люди, которые используют ваш код, будут знать, что нужно, не нужно добавлять много дополнительного кода в ваш контроль версий, когда люди могут просто получить один и тот же код, выполнив «композиторное обновление» – Drown

+0

. У композитора есть свои преимущества но каково решение, когда вы пытаетесь автоматизировать процесс сборки и попадаете в какую-то библиотеку/плагин, который требует от вас идти и генерировать токен доступа? – Dharmavir

+0

Я никогда не сталкивался с этим раньше, о какой библиотеке вы говорите? – Drown

ответ

1

Ну, для производственной среды вы обычно запускаете процесс сборки сначала в своем программном обеспечении CI. Если «сборщик» не работает во время сборки, приложение не будет развернуто в рабочей среде, поэтому вы в безопасности.

Да, большинство (99% +) людей сохраняют папку «vendor» из репо, потому что это сторонний код, это не ваш. Вы даже не можете иметь права размещать его в своем репо.

Если вы хотите быть уверены, что ваша производственная версия будет иметь все зависимости в порядке, то, как вы их использовали во время CI, и всегда будет выпущена - вы можете создавать изображения Docker и отправлять их на производство. Затем все расфасовывается.

2

Теперь как-то одна из зависимостей требует от меня создания частного токена GIT для его установки, и это боль, так как это повредит моей автоматизации.

Вы просто используете лимиты скорости Github для загрузки пакетов для анонимных пользователей. Нет причин, по которым вы не можете автоматизировать это. Создайте маркер GitHub (вам нужно сделать это только один раз - они получают самые пределы высокой скорости для прошедших проверку подлинности запросов), то есть ваше использование автоматизации, лексема, как так:

composer config -g github-oauth.github.com <oauthtoken>

https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens

Смежные вопросы