Oföränderlig infrastruktur-CI/CD med Jenkins och Terraform på Azure Virtual Architecture – översikt

Log Analytics
Managed Disks
Virtual Machine Scale Sets
GitHub

Lösningsidé

Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för GitHub Feedback!

Azure är ett moln i världsklass för värdtjänster för virtuella datorer som kör Windows eller Linux. Oavsett om du använder Java, Node.js, Go eller PHP för att utveckla dina program behöver du en pipeline för kontinuerlig integrering och kontinuerlig distribution (CI/CD) för att skicka ändringar till dessa virtuella datorer automatiskt.

Arkitektur

Arkitekturdiagram –Ladda ned en SVG för den här arkitekturen.

Dataflöde

  1. Ändra programmets källkod.
  2. Genomför kod för att GitHub.
  3. Utlösare för kontinuerlig integrering till Jenkins.
  4. Jenkins utlöser ett Packer-avbildningsbygge för att skapa en virtuell dator och lagrar den som en VM-avbildning med hjälp av Azure Managed Disks.
  5. Jenkins utlöser Terraform för att etablera en ny VM-skalningsuppsättning med hjälp av Azure Managed Disks VM-avbildning.
  6. Azure Log Analytics samlar in och analyserar loggar.
  7. Övervaka program och gör förbättringar.

Komponenter

  • Managed Disks:Beständig, skyddad disklagring för virtuella Azure-datorer.
  • Virtual Machine Scale Sets:Hantera och skala upp till tusentals linux- och Windows virtuella datorer.
  • Log Analytics: Samla in, sök efter och visualisera datordata lokalt och i molnet.
  • Visual Studio Code:Skapa och distribuera appar för flera plattformar för att få ut mesta av Azure-tjänster.

Distribuera det här scenariot

Nästa steg