Delivery 1.0 Help

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-new

  • code-quality-legacy

  • code-quality-debt

  • code-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

Last modified: 30 May 2024