Zagadnienia
In progress
Code review
Określenie reguł i wybór narzędzia do code review.
zebranie informacji od zespołów w jaki sposób robią review,
zebranie i porównanie narzędzi pod kątem przyjazności dla dewelopera, ale jednocześnie łatwości integracji z pipeline’ami.
Static Code Analysis
Statyczna analiza kodu (SonarQube) - standard w trakcie realizacji.
W tym momencie jesteśmy na etapie wdrożenia statycznej analizy kodu na branchu master dla projektów z listy Lista systemów (krytyczne, tagi)
Co dalej:
przepięcie wszystkich projektów na joba z common'owego szablonu (na ten moment jeśli dany projekt był podłączony do sonara w dedykowanym)
podpięcie analizy do MR
rozbudowa dashboard'ów o dodatkowe informacje
wykresy zmian długu w czasie (per projekt, zespół)
porządki nazw teamów
Database Migration
Ewolucja schematu bazy danych (Flyway) - standard w trakcie realizacji.
Repozytorium z demo podpięcia flywaya na podstawie aplikacji Spring Boot, jednak ze względu na fakt iż zrealizowane jest to w osobnym module procedura dla JavyEE będzie taka sama. W repozytorium znajduje się również definicja etapu CI/CD odpowiedzialnego za dokonanie migracji.
Environments
zebranie od zespołów informacji na temat wykorzystywanych środowisk (sts, stg, prd)
wykorzystywane platformy: vm, vm-docker
analiza i możliwości GitLab environments
CI Tools
Maven Repository vs GitLab Package Registry
Bamboo
GitLab
To do
Observability i Monitoring
wiedza o tym czy standardy wchodzą w życie i są realizowane przez zespoły
kontrola bottleneck'ów w CI
Statyczna analiza kodu (SonarQube)
GitLab Topics
Analiza możliwości wykorzystania topic'ów GitLab'owych.
Na ten moment topici wykorzystywane są do statycznej analizy kodu
code-quality-newcode-quality-legacycode-quality-debtcode-quality-none
Temat świeży, więc jedyne dostępne na ten moment topic'i wykorzystywane są do oznaczania projektów pod kątem kryteriów jakości kodu.
Git Branch Strategy
Zdefiniowanie standardu branch'owania projektów w gicie.
zebranie informacji od zespołów w jaki sposób branchują repozytoria
przeanalizowanie popularnych strategii: Git Flow, GitHub Flow, GitLab Flow
wybranie optymalnej strategii, stworzenie standardu i wdrożenie w zespołach
wypracowany za czasów OKR standard: Standard Procesu CI/CD (może warto coś z tego wyciągnąć)
Build Tools
Określenie narzędzi do budowania aplikacji wspieranych w BM .
zebranie od zespołów informacji na temat wykorzystywanych build tool’i (maven, gradle itp)
określenie zasad korzystania z build tool'i (commitowanie/niecommitowanie wrapperów itp)
wybranie dozwolonych, stworzenie standardu i wdrożenie w zespołach
Tests
Stworzenie mapy zależności projektów.
jednostkowe
mutacyjne
integracyjne
wydajnościowe
manualne
interfejs
security
akceptacyjne
regresyjne
itp.
CI/CD Pipelines
wzorcowe szablony, joby itp. - przepięcie wszystkich projektów na commonowe pipeline'y
monitoring pipeline
optymalizacje obrazów/job'ów/stage’y
downstream pipelines
dynamic pipelines
multi-project pipelines
analiza i możliwości GitLab deployments
Release Notes
GitLab Pages