Композитор без постійної інтеграції
Якщо ви розробник WordPress і використовуєте Composer без постійної інтеграції, то, швидше за все, вам залишиться вирішальний крок — з’ясувати, як керувати каталогом постачальника під час розгортання плагінів.
Це:
- Ми знаємо, що це погана ідея кидати весь каталог постачальників під контроль джерела,
- Інші розробники, які знайомі з використанням Composer, повинні мати можливість розпочати роботу без особливих інструкцій,
- Безперервна інтеграція не використовується з багатьох причин,
- І нам залишається потреба надати продукт виробничого рівня, який використовує певні залежності, але не використовує інші.
Як би наведені вище пункти не описували нашу ситуацію, вони не говорять нам, що ми можемо з нею робити.
Іншими словами, ось варіант використання: ви створили для когось плагін WordPress. Цей плагін використовує різноманітні залежності, усі з яких підтримує Composer.
Ви не перевіряєте каталог постачальника в репозиторії, але ви також не використовуєте постійну інтеграцію для розгортання плагіна. Натомість це клієнт або третя сторона.
Ну що тоді?
Розповсюдження за допомогою Composer без постійної інтеграції
Коротка версія така:
Експортуйте основну гілку (або гілку випуску, чи як ви її називаєте) із локальної копії плагіна, а потім переконайтеся, що ви запустили команду Composer, яка вказує їй створити каталог постачальника без залежностей на рівні розробки.
Потім ви можете зібрати згенерований архів і розповсюдити його своїм клієнтам.
Але як?
По-перше, я припускаю, що локальна копія вашого плагіна не має копії каталогу постачальника, але має весь останній код, отриманий із віддаленого сховища.
Тобто у вас є остання стабільна версія коду, готова до випуску, але ви ще не готові це зробити, оскільки вона не має необхідних залежностей, скажімо, для автозавантаження та інших подібних функцій.
Першим кроком буде експорт локального репозиторію в архів. Ось як це можна зробити, перемістивши його на робочий стіл:
$ git archive -o ~/Desktop/plugin-name.zip HEAD
Далі вказуйте Composer встановити у вашому файлі залежності, які знаходяться за межами директиви require-dev :composer.json
$ composer install --no-dev
Тепер ви можете заархівувати створений каталог у плагін і розповсюдити цей файл.
Це ідеально?
Я б не сказав, що це ідеально, але це рішення для випадку використання, який, безумовно, існує, тому я б сказав, що це те, що можна зробити для вирішення конкретної проблеми.
Зрештою, якщо ви шукаєте спосіб поширювати плагін WordPress, який використовує Composer без постійної інтеграції, це спосіб зробити це.
Однак я визнаю, що це окремий випадок використання, і тому є конкретне рішення.