Phing i kompozytor, którędy?

Chcę używać zarówno Phing jak i Composer do Moich aplikacji. Phing jako system budowania i kompozytor do zarządzania zależnościami. Ale w którą stronę powinny być używane?

Obecnie instalujemy Phing globalnie na wszystkich serwerach. Phing ma całkowicie zautomatyzować budowę naszych różnych projektów. Po prostu zamów kopię projektu, Uruchom Phing z domyślnym celem i powinieneś być dobry. Oznacza to również, że powinien tam być cel Phing, który wzywa Composer do instalacji wszystkich zależności. Phing dzwoni do kompozytora. Ale nie byłem w stanie znaleźć nic o tej konfiguracji. Nie ma żadnego komponentu ani czegoś podobnego, a googlowanie nie ujawnia, że ktoś pracuje w ten sposób.

Ale widzę wiele tego na odwrót. Osoby używające Composera do instalacji Phing jako zależności od projektu.

Więc, jakie są (dis)zalety każdej metody? Czy próbuję to zrobić w niewłaściwy sposób?

Author: Sander Marechal, 2012-05-31

2 answers

Myślę, że główną zaletą instalacji phing przez composer jest to, że dla projektów open source łatwiej jest upewnić się, że użytkownicy mają Phing zainstalowany w ten sposób. Zazwyczaj w tych konfiguracjach phing jest tylko narzędziem używanym przez niektóre biblioteki do realizacji niektórych zadań.

Inną zaletą jest to, że każdy projekt może używać innej wersji phing, której nie możesz zrobić, jeśli masz systemową.

Jeśli używasz phing do zarządzania całym projektem build / setup, wywołując composer z niego może to ma sens, ale na odwrót. Na przykład możesz użyć skryptów composer , aby odpalić zadania phing po każdej aktualizacji zależności. W ten sposób konfiguracja projektu byłaby:

  • checkout
  • run composer
  • composer uruchamia phing po aktualizacji / instalacji deps
  • projekt jest zbudowany

Naprawdę Nie wiem, czy jest właściwa odpowiedź. Możesz działać w obie strony, ale robiąc to w ten sposób, przynajmniej pomiń konieczność instalacji najpierw phing. Oczywiście musisz zamiast tego zainstalować composer, ale prawdopodobnie jest to łatwiejsze i i tak byś go potrzebował.

 29
Author: Seldaek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-31 08:24:54

Dodatkowe przemyślenia na ten temat.

Ogólnie Seldaek ma rację, że oba są możliwe. Istnieją jednak argumenty za pierwszym phingiem. Na poziomie Architektury budowlanej myślę, że composer first nie ma sensu. Proces budowania ma szerszy zakres i dłuższą żywotność i dlatego powinien zarządzać menedżerem zależności, a nie odwrotnie.

Ponadto, jeśli pracujesz z Phing token replacement, aby określić, jakie wersje zależności chcesz zainstalować w której środowisko, jest prawie niemożliwe, aby przejść kompozytor Pierwszy, ponieważ phing wygeneruje kompozytora.json i musi być zainstalowany przed uruchomieniem composera.

 12
Author: markus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-23 22:49:36