Jak będzie w projekcie? - Sekcja CI/CD
Prowadzący: Kornel Jankowski
O narzędziach i praktykach do trzymania porządku w małych i dużych projektach informatycznych.
Kategorie:
informatyka
inne
Opis
Porozmawiamy o i przećwiczymy narzędzia i schematy postępowania które pozwalają utrzymywać przy życiu mniejsze i większe projekty software'owe. Przywołamy życiowe przykłady problemów, które o ile w skali olimpiadki, czy szkolnego, albo i nawet uczelnianego projektu nie urastają do zagrożeń, ale np. w realnym projekcie który ma działać też po terminie zaliczenia i wytrzymać to, że będzie aktualizowany, zaczynają gryźć. Będzie to historyjkowo-przykładowe tło do praktycznych zagadnień:
- Kontrola wersji
Poćwiczymy gita, przede wszystkim po to, żeby wszyscy mogli współpracować, ale postaram się, żeby Ci co z gitem już mieli do czynienia, też mieli się nad czym zastanowić. Przyjrzymy się życiowym zastosowaniom rzeczy takich jak np. LFS czy submoduły.
Porozmawiamy też o code review, jak i po co się je robi, i jak je robić żeby faktycznie czemuś służyło. - Konteneryzacja
Poćwiczymy zamykanie oprogramowania w kontenerach (dockera). Porozmawiamy o tym, dlaczego się to robi, ale w skrócie postaramy się o to, żeby jakiś nasz strworzony kawałek oprogramowania był uruchamialny na każdym kartonie po soku z Linuksem, nawet jeśli wymaga specjalnych bibliotek i dodatkowej usługi działającej obok w systemie. - Ciągła integracja / Ciągłe dostarczanie (CI/CD):
Mając już w ręce gita i dockera zmontujemy (z użyciem Jenkinsa, chyba że się porwiemy na coś nowszego) automatykę, która pozwoli nam bezstresowo wysłać do repozytorium poprawkę na dzikiego buga w piątek po południu i być pewnym, że nie zepsujemy niczego na działającym produkcie, nie wkurzymy klienta, a dodatkowo, jeśli nasz patch jest dobry, naprawimy błąd. Dodatkowo zmontujemy to tak, żeby nikt nie musiał puszczać ręcznie żadnych testów, ale żeby każda poprawka była sprawdzona i żebyśmy wiedzieli, że naprawiając jeden błąd, nie dodamy nowego.
Wymagania
Miejcie konta na GitHubie i GitLabie, proszę.