Przejdź do treści

📑 Blog

Conventional Commits

Conventional Commits1 to konwencja nazewnictwa wiadomości commitów, która wprowadza porządek, czytelność i automatyzację do historii projektu. W tym artykule pokażę Ci, jak działa, dlaczego warto ją wdrożyć i jak zacząć.

PACKER - template vm na proxmox - alpine

Dziś pokażę, jak utworzyć template wirtualnej maszyny na proxmox za pomocą packera

Czemu tworzymy template maszyny wirtualnej?

Tworzenie template'u maszyny wirtualnej na Proxmox za pomocą Packer ma wiele zalet, zwłaszcza w kontekście automatyzacji i zarządzania infrastrukturą jako kodem (IaC). Oto kluczowe powody, dla których warto to robić:

  • Automatyzacja i Powtarzalność
  • Standaryzacja Środowiska
  • Łatwa Integracja z Terraform
  • Bezpieczeństwo i Aktualizacje
  • Optymalizacja Zasobów
  • Łatwiejsza Skalowalność
  • Integracja z CI/CD

GITLAB-CI - Infrastruktura procesów gitlab-ci

Info

W dzisiejszym artykule przedstawię, jak zorganizować i zautomatyzować procesy CI/CD w GitLab, bazując na strukturze projektu, który implementuje różne komponenty i etapy pipeline'u. Omówię kluczowe elementy, takie jak analiza statyczna kodu, testy jednostkowe, walidacja konfiguracji, budowanie artefaktów oraz wdrażanie aplikacji. Wszystko to z pominięciem katalogu _old, który zawiera przestarzałe lub zarchiwizowane dane.

Kod źródłowy projektu znajduje się tutaj.

SONARQUBE - Integracja z SonarQube cloud

SonarQube to narzędzie do analizy jakości kodu, które pomaga wykrywać błędy, podatności bezpieczeństwa i problemy związane ze stylem oraz technicznym długiem w kodzie źródłowym. Obsługuje wiele języków programowania i integruje się z popularnymi narzędziami CI/CD, takimi jak GitLab CI, Jenkins czy GitHub Actions. SonarQube oferuje statyczną analizę kodu, raporty z oceną jakości oraz wskazówki dotyczące poprawy kodu. Może działać zarówno lokalnie, jak i w środowisku serwerowym, wspierając zespoły w utrzymaniu wysokiej jakości oprogramowania.

GITLAB-CI - Utworzenie procesu wersjonowania kodu

Tips

SemVer (Semantic Versioning)1 to standard wersjonowania oprogramowania, który określa sposób nadawania numerów wersji w formacie MAJOR.MINOR.PATCH.

Struktura:

  • MAJOR – Zwiększane, gdy wprowadzane są zmiany niekompatybilne wstecz.
  • MINOR – Zwiększane, gdy dodawane są nowe funkcje, ale zachowana jest kompatybilność wsteczna.
  • PATCH – Zwiększane, gdy poprawiane są błędy bez zmiany funkcjonalności.

Dodatkowo można stosować oznaczenia: - Pre-release (np. 1.2.0-alpha.1) – wersje testowe przed oficjalnym wydaniem. - Build metadata (np. 1.2.0+build201) – informacje o kompilacji.

SemVer pomaga w zarządzaniu zależnościami i ułatwia utrzymanie kompatybilności kodu.

TERRAFORM - Utworzenie repozytorium w gitlab

Jak utworzyć repozytorium pl.rachuna-net/containers/python przy użyciu Terraform na potrzeby projektu cicd?

Czemu chcesz tworzyć grupę za pomocą terraform?

Zarządzanie infrastrukturą jako kodem (IaC) pozwala na automatyzację i standaryzację, wersjonowanie i powtarzalność konfiguracji, co ułatwia utrzymanie i rozwój projektów.

TERRAFORM - Utworzenie grupy repozytoriów w gitlab

Jak utworzyć grupę pl.rachuna-net/cicd przy użyciu Terraform na potrzeby projektu cicd?

Dlaczego?

Zarządzanie infrastrukturą jako kodem (IaC) pozwala na automatyzację i standaryzację, wersjonowanie i powtarzalność konfiguracji, co ułatwia utrzymanie i rozwój projektów.

TERRAFORM - Utworzenie infrastruktury

Info

Terraform to narzędzie typu Infrastructure as Code (IaC), które umożliwia definiowanie, provisionowanie i zarządzanie infrastrukturą za pomocą plików konfiguracyjnych. Dzięki Terraform można w sposób deklaratywny opisywać zasoby, takie jak serwery, sieci czy usługi w chmurze, a następnie automatycznie je tworzyć, modyfikować i usuwać, zapewniając spójność środowisk.

VAGRANT - Środowisko developerskie

Tip

Vagrant to narzędzie open-source stworzone przez HashiCorp, które służy do tworzenia i zarządzania wirtualnymi środowiskami deweloperskimi. Jego głównym celem jest ułatwienie tworzenia spójnych i przenośnych środowisk, które można łatwo uruchomić na różnych maszynach.