Niezmienna integracja/ciągłe wdrażanie infrastruktury przy użyciu narzędzi Jenkins i Terraform na platformie Azure

Log Analytics
Dyski zarządzane
Virtual Machine Scale Sets
GitHub

Pomysły dotyczące rozwiązań

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, przekazując opinię w usłudze GitHub.

Platforma Azure to światowej klasy chmura do hostowania maszyn wirtualnych z systemem Windows lub Linux. Niezależnie od tego, czy używasz języka Java, Node.js, Go lub PHP do tworzenia aplikacji, potrzebujesz potoku ciągłej integracji i ciągłego wdrażania (CI/CD), aby automatycznie wypychać zmiany do tych maszyn wirtualnych.

Potencjalne przypadki użycia

Organizacje korzystają z tego rozwiązania w przypadku niektórych korzyści, które obejmują:

  • Zmiany w aplikacji zaczynają się od wypychania oprogramowania do repozytorium kodu Git zamiast logowania się do serwera za pośrednictwem protokołu SSH.
  • Uproszczone i niezawodne wdrożenia.
  • Odporność na uszkodzenia.
  • Szybsze rozwiązywanie problemów.
  • Jest to najbardziej zaleta chmury, dlatego jej uzasadnione funkcje DevOps.

Architektura

Diagram architektury przedstawiający niezmienną integrację/ciągłe wdrażanie infrastruktury przy użyciu narzędzi Jenkins i Terraform na platformie Azure.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Zmień kod źródłowy aplikacji.
  2. Zatwierdź kod w usłudze GitHub.
  3. Wyzwalacz ciągłej integracji z usługą Jenkins.
  4. Usługa Jenkins wyzwala kompilację obrazu narzędzia Packer w celu utworzenia maszyny wirtualnej i zapisuje ją jako obraz maszyny wirtualnej przy użyciu usługi Azure Dyski zarządzane.
  5. Usługa Jenkins wyzwala narzędzie Terraform w celu aprowizowania nowego zestawu skalowania maszyn wirtualnych przy użyciu obrazu maszyny wirtualnej usługi Azure Dyski zarządzane.
  6. Usługa Azure Log Analytics zbiera i analizuje dzienniki.
  7. Monitorowanie aplikacji i wprowadzanie ulepszeń.

Składniki

  • Dyski zarządzane: trwały, zabezpieczony magazyn dysków dla maszyn wirtualnych platformy Azure.
  • Virtual Machine Scale Sets: zarządzanie maszynami wirtualnymi z systemami Linux i Windows oraz skalowanie ich w górę do tysięcy.
  • Log Analytics: zbieranie, wyszukiwanie i wizualizowanie danych maszyny ze środowiska lokalnego i chmury.
  • Visual Studio Code: Twórz i wdrażaj aplikacje wieloplatformowe, aby jak najlepiej wykorzystać usługi platformy Azure.

Wdrażanie tego scenariusza

Następne kroki