O prezentacji:
W trakcie prelekcji pokażę jak zaimplementować proces CI/CD dla aplikacji napisanej w JavaScript, używając GitLab CI/CD Pipelines. Będzie on zawierał kroki lint (statyczna analiza kodu), unit test, API test, Docker Build i UI end-to-end test. Pokażę też jak tworzyć, parsować i wyświetlać raporty z testów w GitLabie. Powiem też co nieco o używanych w procesie Dockerfile i docker-compose.
O prelegencie:
Przygodę z profesjonalnym IT rozpoczął ponad 10 lat temu, jako Manual Junior Tester. Od tego czasu stara się w pełni zrozumieć rolę QA w projekcie i wielopoziomowo pracować nad poprawą jakości projektu, produktu i pracy.
3. Plan
● Trochę teorii - czym jest CI/CD i po co to robimy?
● Stworzenie definicji pipeline;
● Dodanie podstawowych kroków (statyczna analiza kodu, unit testy, build);
● Zbudowanie artefaktów do deploymentu;
● Dodanie testów API;
● Parsowanie raportów z testów;
● Dodanie cache zależności;
● Dodanie testów UI end-to-end;
● Czas na pytania i odpowiedzi.
4. Czym jest CI/CD?
● CI - Continuous Integration
● Zautomatyzowany sposób budowania
i testowania aplikacji
● CD - Continuous Delivery
● Zautomatyzowany proces wdrażania
aplikacji i wprowadzanych zmian w
kodzie
5. Po co nam CI/CD?
● Większa pewność wprowadzanych zmian, mniejsze ryzyko wypuszczenia błędów;
● Stabilny, gotowy do releasu w każdej chwili branch;
● Cały zespół pracuje nad stabilną aplikacją;
● Mniejsze zmiany do testów, mniejsze release’y.
W rezultacie dostajemy:
● Krótszy Customer Lead Time
a. Szybszy feedback;
b. Większy zysk dla stakeholderów.
● Zadowolony klient :)
6. Let’s start!
● Sprawdźmy czy nasz projekt działa
● Stwórzmy podstawowy gitlab-ci.yml
● Dodajmy kroki lint i test