Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika Klopsztanga w Hydepark

Gruba ryba

w Hydepark

83piorunów

Kiedy przyszedłem do projektu, release przez CI/CD trwało 60 min
Kiedy odchodziłem trwało to tylko 15 minut
Kiedy powróciłem po roku przerwy - teraz zajmuje 2,5h

Komentarze (22)

Fenomen1piorunów

@Klopsztanga trzeba było iść w layer2 a nie jakąś chujnię

Lider1piorunów

@Klopsztanga co to jest cicd

Wirtuoz1piorunów

@Felonious_Gru w sumie zajebiście wygodne i, o ile działa szybko i stabilnie to programiści bardzo to lubią, bo dostarcza natychmiastowy feedback odnośnie tego, czy się coś spieprzyło. W innym wypadku taki feedback dostarczy Ci klient, a to już takie przyjemne nie jest.

Wirtuoz1piorunów

@Felonious_Gru continuous integration / continuous deployment. W skrócie to automat, który odpala się kiedy programista wrzuca zmiany w kodzie. Ten automat te zmiany testuje, generuje metryki i tworzy paczki gotowe do uruchomienia, często również wdraża zmiany na środowisko testowe / produkcyjne.

Tytan1piorunów

@Klopsztanga zależy co robicie i jak robocie ale jak docker tam leci to możesz sobie layery zrobić mądrze w docker i odpalać build dind, tym sposobem cała warstwa z modules i bin się przeniesie do nowego builda a budujesz tylko zmiany. Co do testów w njs to u nas skończyło się na przepisaniu sorry cypress na swój i wszystko nadal hula w parallel.

Osobistość4piorunów

@Klopsztanga no i może teraz bilują klienta za 2,5h, a nie 15 minut ( ͡° ͜ʖ ͡°)

Gruba ryba0piorunów

@Klopsztanga dodajesz ficzer, optymalizujesz jak trzeba. Widocznie nie potrzeba i generujesz problem xD

GURU1piorunów

I jest czas na hejto :P

Gruba ryba0piorunów

To co tam macie w tym CI/CD? U mnie tylko build dockera -> push do docker huba-> deploy
Reszta rzeczy jak np. testy, analiza statyczna, linty mam ustawione na merge request

Kosmonauta0piorunów

@Deykun jak masz głupi filesystem, to pliki się długo kopiują. Copy-on-write przyspiesza wydatnie.

Gruba ryba0piorunów

@def aaa :smiley: chyba ze tak :grinning:

Gruba ryba1piorunów

@Klopsztanga chodzi mi o to, że używam tego pliku jako klucz cache, wrzucamy go w gita i w CI robimy npm ci

Gruba ryba1piorunów

@def package-lock.json nie jest do kontroli cache, tylko do pewnosci ze przetestowane paczki zostana zainstalowane.

Blokuje wersję paczek po prostu :smiley:

Gruba ryba1piorunów

@Deykun ja node_modules cache'uje, do kontroli cache'u używam package-lock.json

Lider1piorunów

@def 
Ja w diffle jak był tylko polski miałem z 10k plików i jak kopiowało każdy osobno to build potrafił trwać pond 40 minut. Jak zacząłem je pakować do .zip i rozpakowywać na miejscu skróciło do minuty. Dzisiaj przy 6 językach to pewnie ten upload by trwał z 5h. dx

Najłatwiej chyba tak nabić jak ktoś nieogranie i zrobi coś podobnego kopiując node_modules, to nawet na tym samym kompie się długo kopiuje plik po pliku. dx

Gruba ryba0piorunów

@def a no budowanie dockera + budowanie JS 'a. JS głównie najwolniejszy jest.

Lider21piorunów

@Klopsztanga 
Trwa tyle, bo jest dopisane tyle testów przed, prawda?
Prawda?

Gruba ryba1piorunów

@dahomej każdy to ma w dupie :smiley: Ważne, że ticket odhaczony, nara.

Inspirator0piorunów

@Klopsztanga a playwrighta nie da się odpalać równolegle? (czy po prostu tego nie zrobili?)

Gruba ryba0piorunów

@Deykun inny przykład: wcześniej paratest , teraz po prostu phpunit :smiley:

Gruba ryba3piorunów

@Deykun nie prawda ;( Chodzi o ideę.
Jak wchodziłem, był cypress. No to zoptymalizowałem go by działał horyzontalnie. Podzielony był na workery
Później przepisali to do PlayWright - i działa po kolei.