Tak więc prowadziłem tę dyskusję z kilkoma współpracownikami i chciałbym, żeby inni ludzie to rozważyli. Jestem ciekawy, co robią inni deweloperzy.Czy powinieneś sprawdzić swoje skompilowane aktywa w Git?
Co lubię robić, to zignorować cały folder budowy/aktywów z repozytorium. Ten folder zawiera moje skompilowane pliki CSS, JavaScript i skompresowane obrazy. Sądzę, że tylko pliki źródłowe powinny zostać sprawdzone. Uważam to za denerwujące, że za każdym razem, gdy dokonuję zmiany w arkuszu stylów lub pliku JS, muszę sprawdzić plik źródłowy I nową skompilowaną wersję. Wprowadza to także konflikty scalania i inne problemy, gdy wiele osób pracuje nad projektem. Chciałbym, aby repo było przyjemne i lekkie, a następnie poproś dewelopera, aby zbudował projekt lokalnie, aby go skonfigurować. Lub po wdrożeniu, niech serwer zbuduje projekt.
Jest to problem, ponieważ moi współpracownicy używają Git jako procesu wdrażania. Więc jeśli chcesz wdrożyć, sprawdź kod w git, wciśnij go do zdalnego repozytorium, a następnie SSH do serwera i wykonaj git fetch & & git pull. Oznacza to, że WSZYSTKIE pliki stron internetowych muszą żyć w repozytorium. Muszę teraz sprawdzić w moim folderze aktywów.
Jak sobie z tym radzicie? Używam bedrock-ansible
dla witryny Wordpress i istnieje opcja uruchomienia niektórych poleceń tuż przed uruchomieniem, więc skonfigurowałem go do uruchomienia npm install && gulp build
i zbudowania projektu, ale problem jest zbyt powolny. Sposób działania podprogramu polega na tym, że tworzy on nowy katalog wydania dla każdego wdrożenia i po prostu dowiązuje symbolicznie do najnowszego katalogu current
. Więc za każdym razem, gdy wdrażałem, działało npm install
, gdy w rzeczywistości potrzebuję tych zależności tylko w jednym wspólnym katalogu. Może być jakiś sposób, aby to zrobić z npm install --prefix install/dir
, ale jeszcze tego nie testowałem. Myślę, że może wprowadzić więcej problemów.
Na razie musiałem sprawdzić wszystkie moje zmaterializowane zasoby, aby uzyskać poprawkę, aby to działało. Ale w moim zadaniu gulp watch
nie mam żadnych zminimalizowania, ale kiedy chcę wdrożyć, chcę najpierw uruchomić gulp build
, który zminimalizuje i ugnie wszystko - tak technicznie zawsze będę musiał zatwierdzić, kiedy chcę wdrożyć Strona. To bałagan. Jak myślisz, co to jest dobry sposób na radzenie sobie z tym?