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
#devops #programowanie #monorepo

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
#devops #programowanie #monorepo

@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.
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
@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
@def package-lock.json nie jest do kontroli cache, tylko do pewnosci ze przetestowane paczki zostana zainstalowane.
Blokuje wersję paczek po prostu
@Klopsztanga chodzi mi o to, że używam tego pliku jako klucz cache, wrzucamy go w gita i w CI robimy npm ci
@Klopsztanga dodajesz ficzer, optymalizujesz jak trzeba. Widocznie nie potrzeba i generujesz problem xD
@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.
@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.
@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.
Zaloguj się aby komentować