Navigation überspringen

CI/CD unveränderlicher Infrastrukturen mit Jenkins und Terraform in der virtuellen Azure-Architektur – Übersicht

Azure ist eine erstklassige Cloud zum Hosten virtueller Computer, auf denen Windows oder Linux ausgeführt wird. Unabhängig davon, ob Sie Ihre Anwendungen mit Java, Node.js, Go oder PHP entwickeln, benötigen Sie eine Continuous Integration- und Continuous Deployment-Pipeline (CI-/CD-Pipeline), um Ihre Änderungen mithilfe von Push automatisch auf diese virtuellen Computer übertragen zu lassen.

Jenkins Azure Virtual MachineScale Sets Terraform Azure Managed Disks(VM Image) Packer GitHub Engineer Azure Log Analytics 1 7 6 5 5 5 4 4 2 3 Visual Studio Code

Der Quellcode der Anwendung wird geändert.

Es wird Code in GitHub committet.

Der Trigger für die Continuous Integration wird in Jenkins ausgelöst.

Jenkins löst ein Packer-Imagebuild zum Erstellen einer VM aus und speichert dieses unter Verwendung von Azure Managed Disks als VM-Image.

Jenkins löst Terraform aus, um mithilfe des Azure Managed Disks-VM-Image eine neue VM-Skalierungsgruppe bereitzustellen.

Azure Log Analytics erfasst und analysiert Protokolle.

Überwachen Sie die Anwendung, und nehmen Sie Verbesserungen vor.

  1. 1 Der Quellcode der Anwendung wird geändert.
  2. 2 Es wird Code in GitHub committet.
  3. 3 Der Trigger für die Continuous Integration wird in Jenkins ausgelöst.
  4. 4 Jenkins löst ein Packer-Imagebuild zum Erstellen einer VM aus und speichert dieses unter Verwendung von Azure Managed Disks als VM-Image.
  1. 5 Jenkins löst Terraform aus, um mithilfe des Azure Managed Disks-VM-Image eine neue VM-Skalierungsgruppe bereitzustellen.
  2. 6 Azure Log Analytics erfasst und analysiert Protokolle.
  3. 7 Überwachen Sie die Anwendung, und nehmen Sie Verbesserungen vor.

Implementierungsleitfaden

Produkte/Beschreibung Dokumentation

Managed Disks

Beständiger, geschützter Datenträgerspeicher für virtuelle Azure-Computer

Virtual Machine Scale Sets

Verwalten und zentrales Hochskalieren von Tausenden virtuellen Linux- und Windows-Computern

Log Analytics

Sammeln, Durchsuchen und Visualisieren von Computerdaten – lokal und in der Cloud

Visual Studio-Code

Erstellen Sie Multi-Plattform-Apps, und stellen Sie diese bereit, um die Möglichkeiten der Azure-Dienste voll auszuschöpfen.

Zugehörige Lösungsarchitekturen

Visual Studio Team Services Git Visual Studio Team Services CI Visual Studio Team Services CD Engineer Visual Studio Azure Application Insights Azure Web Apps 2 1 7 3 4 5 6 Visual Studio Team Services Backlog 8

CI/CD für Azure-Web-Apps

Azure-Web-Apps bieten eine schnelle und einfache Möglichkeit zum Erstellen von Web-Apps mit ASP.NET, Java, Node.js oder PHP. Bieten Sie Ihren Kunden durch eine Continuous Integration- und Continuous Deployment-Pipeline (CI-/CD-Pipeline) schneller einen größeren Mehrwert, um alle Ihre Änderungen mithilfe von Push automatisch an Web-Apps zu übertragen.

Jenkins Azure ContainerRegistry Azure ContainerService (ManagedKubernetes) Azure CosmosDB GitHub Visual Studio Code Engineer Grafana Azure Monitor 1 8 2 3 5 4 6 7 7

CI/CD von Containern mit Jenkins und Kubernetes in Azure Kubernetes Service (AKS)

Container vereinfachen die kontinuierliche Erstellung und Bereitstellung von Anwendungen. Durch Orchestrieren der Bereitstellung dieser Container mit Kubernetes in Azure Container Service können Sie replizierbare, verwaltbare Containercluster erstellen.