{"id":183979,"date":"2023-08-20T19:06:22","date_gmt":"2023-08-20T18:06:22","guid":{"rendered":"https:\/\/liora.io\/de\/?p=183979"},"modified":"2026-02-06T06:20:33","modified_gmt":"2026-02-06T05:20:33","slug":"azure-devops-pipeline-terraform-der-vollstaendige-leitfaden","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/azure-devops-pipeline-terraform-der-vollstaendige-leitfaden","title":{"rendered":"Azure DevOps Pipeline Terraform: Der vollst\u00e4ndige Leitfaden"},"content":{"rendered":"<p><strong>Terraform erm\u00f6glicht die Bereitstellung von Infrastruktur auf der Azure DevOps Pipeline. Erfahre alles, was du \u00fcber diese Alternative zum Azure Ressource Manager wissen musst, und was die St\u00e4rken dieser L\u00f6sung sind!<\/strong><\/p>\n<p>Jeder <strong>Cloud-Anbieter<\/strong> hat seine eigene Methode zur Bereitstellung der Infrastruktur. Microsoft Azure verwendet zum Beispiel die Konfigurationssprache JSON, w\u00e4hrend AWS und die<strong> Google Cloud Platform YAML verwenden.<\/strong><\/p>\n<p>In einer Zeit, in der Unternehmen mehrere Cloud-Plattformen nutzen, k\u00f6nnen diese cloud-spezifischen Besonderheiten eine Belastung darstellen. Gl\u00fccklicherweise l\u00f6st<strong> Hashicorp<\/strong> dieses Problem mit <a href=\"https:\/\/liora.io\/de\/terraform-gcp-fuer-die-bereitstellung-der-infrastruktur-nutzen\">Terraform.<\/a><\/p>\n<p>Diese <strong>Open-Source-Infrastruktur-als-Code-Software (IaC)<\/strong> erm\u00f6glicht die Einrichtung und Verwaltung von Infrastrukturen in allen gro\u00dfen \u00f6ffentlichen Clouds wie <a href=\"https:\/\/liora.io\/de\/aws-cloudwatch-wie-ueberwacht-man-seine-ressourcen\">AWS<\/a>, Azure, Google Cloud Platform, <a href=\"https:\/\/liora.io\/de\/wer-ist-oracle-der-groesste-herausforderer-von-azure-aws-und-google-cloud\">Oracle Cloud,<\/a> VMware vSphere oder Alibaba.<\/p>\n<p>Die Konfiguration der Infrastruktur erfolgt mit der <strong>Hashicorp Configuration Language (HCL)<\/strong>. Die Nutzer m\u00fcssen also nur eine einzige Sprache f\u00fcr alle \u00f6ffentlichen Clouds lernen. Sie m\u00fcssen nur den gew\u00fcnschten Zustand der Infrastruktur in einer Konfigurationsdatei beschreiben, und Terraform erledigt den Rest. So k\u00f6nnen mit dieser Software sehr einfach IT-Ressourcen erstellt, ge\u00e4ndert und gel\u00f6scht werden.<\/p>\n<h3>Wie kann man mit Terraform Ressourcen auf Azure DevOps bereitstellen?<\/h3>\n<p>Um Ressourcen auf<a href=\"https:\/\/liora.io\/de\/devops-was-ist-das-definition-vorteile-weiterbildungen\"> Azure DevOps<\/a> Pipelines mit Terraform einzusetzen, ben\u00f6tigst du ein Microsoft Azure-Konto mit Azure DevOps. Lade Terraform herunter und installiere es auf dem Rechner, auf dem die Azure DevOps Pipelines laufen sollen, oder verwende ein mit Terraform vorkonfiguriertes Image einer virtuellen Maschine.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"640\" height=\"380\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/source-g7058d5074_640.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/source-g7058d5074_640.jpg 640w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/source-g7058d5074_640-300x178.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\"><br \/>\nEntdecke unsere Weiterbildungen<br \/>\n<\/a><\/p>\n<p>Dann musst du ein Projekt auf <a href=\"https:\/\/liora.io\/de\/azure-devops-definitionen-devops-methoden\">Azure DevOps<\/a> erstellen und einen Ordner in den Repositories anlegen, um die Terraform-Datei f\u00fcr die Bereitstellung von Ressourcen hochzuladen. Dabei handelt es sich um die Datei, die den gew\u00fcnschten Zustand der Infrastruktur beschreibt. Anschlie\u00dfend musst du eine neue <strong>Relax-Pipeline<\/strong> erstellen und die Terraform-Datei als Artefakt aus dem Azure-Repository hinzuf\u00fcgen.<\/p>\n<p>Der n\u00e4chste Schritt ist das Hinzuf\u00fcgen der <strong>Terraform-Laufzeit-Build-Schritte<\/strong> Init, Plan und Apply. Mit dem Befehl Init wird die Infrastruktur initialisiert, mit dem Befehl Plan werden die \u00c4nderungen an der Infrastruktur und die Aktionen geplant, die n\u00f6tig sind, um den gew\u00fcnschten Zustand zu erreichen, und mit dem Befehl Apply werden diese \u00c4nderungen angewendet.<\/p>\n<p>Am besten speicherst du die Terraform-Konfigurationsdatei in einem Git-Repository. Du musst dann die Azure DevOps Pipeline so konfigurieren, dass sie dieses <a href=\"https:\/\/liora.io\/de\/azure-devops-vs-github-actions-welches-ist-das-bessere-ci-cd-tool\">Git-Repository<\/a> verwendet. So k\u00f6nnen \u00c4nderungen an der Infrastruktur zentral verfolgt werden. Du kannst auch mit einem Team gemeinsam an der Konfiguration der Infrastruktur arbeiten.<\/p>\n<p>Auf der anderen Seite solltest du es vermeiden, sensible Informationen wie Zugangsdaten und Passw\u00f6rter in die Terraform-Konfigurationsdatei aufzunehmen. Es ist besser, in Azure DevOps Umgebungsvariablen einzurichten, um sie zu sch\u00fctzen.<\/p>\n<h3>Terraform vs Azure Ressource Manager<\/h3>\n<p>F\u00fcr die Konfiguration der Infrastruktur in der Microsoft Azure Cloud kann Terraform als Alternative zum Azure Ressource Manager verwendet werden, der standardm\u00e4\u00dfig auf der Plattform angeboten wird. Diese beiden Tools weisen einige Unterschiede auf.<\/p>\n<p>Zun\u00e4chst einmal verwendet Terraform die H<strong>CL-Sprache,<\/strong> w\u00e4hrend der Azure Ressource Manager f\u00fcr die Infrastrukturdefinition auf JSON setzt. Bei Terraform wird die Abh\u00e4ngigkeit zwischen Ressourcen automatisch festgelegt, w\u00e4hrend sie bei ARM-Templates explizit angegeben werden muss.<\/p>\n<p>Dar\u00fcber hinaus verwendet Terraform Variablen und die Azure Ressource Manager Templates Parameter. In beiden F\u00e4llen handelt es sich um Werte, die vom Benutzer f\u00fcr den Einsatz eingegeben und als separate Datei definiert werden.<\/p>\n<p>Die innerhalb des Templates definierten Werte werden auf Terraform als lokale Variablen und auf ARM als Variablen bezeichnet. F\u00fcr den Einsatz einer bestimmten Ressource verwendet Terraform Module und Azure verschachtelte Templates.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1280\" height=\"720\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/Azure-Resource-Manager-Terraform.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/Azure-Resource-Manager-Terraform.jpg 1280w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/Azure-Resource-Manager-Terraform-300x169.jpg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/Azure-Resource-Manager-Terraform-1024x576.jpg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/08\/Azure-Resource-Manager-Terraform-768x432.jpg 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\"><figcaption><\/figcaption><\/figure>\n<h3>Tipps und Best Practices<\/h3>\n<p>Tipps und bew\u00e4hrte Praktiken Zun\u00e4chst einmal solltest du zum Erstellen neuer <strong>Pipelines YAML<\/strong> anstelle von klassischen Pipelines verwenden.<\/p>\n<p>Andererseits ist es besser, die Eingabeaufforderung als YAML-Aufgaben zu verwenden. Dies wird dir helfen, die Funktionsweise von Terraform besser zu verstehen. Achte au\u00dferdem darauf, die neueste Version von Terraform zu verwenden.<\/p>\n<p>In der Dokumentation von Terraform wird au\u00dferdem empfohlen, die Teilkonfiguration zu verwenden und zur Authentifizierung einen Service Principal oder eine Managed Service Identity zu verwenden. Dieser zweite Punkt bezieht sich auf die nicht-interaktive Ausf\u00fchrung von Terraform, z. B. auf einem CI-Server. Bei einer lokalen Ausf\u00fchrung hingegen kannst du das Azure <strong>CLI verwenden.<\/strong><\/p>\n<p>Achte darauf, dass du die Pipeline-Variablen als Geheimnisse aufbewahrst, damit sie verschl\u00fcsselt sind. Wenn du noch weiter gehen willst, kannst du den Azure Key Vault Service f\u00fcr noch mehr Sicherheit und die F\u00e4higkeit, Geheimnisse wiederzuverwenden, nutzen.<\/p>\n<p>Erstelle schlie\u00dflich eine benutzerdefinierte Rolle f\u00fcr den von Terraform verwendeten Dienstprinzipal. Dies vereinfacht die Konfiguration von Berechtigungen wie der Zugriffsrichtlinie f\u00fcr den Key Vault, ohne dass du dem Service Principal die Berechtigungen der Eigent\u00fcmerrolle geben musst. Insbesondere ist es wichtig, dass du Terraform nicht die Erlaubnis gibst, Infrastrukturen zu l\u00f6schen, um die Datenschutzbestimmungen einzuhalten.<\/p>\n<h3>Wie meistert man Terraform und Azure DevOps?<\/h3>\n<p>Um<strong> Terraform, Azure und all die besten DevOps-Tools zu beherrschen,<\/strong> kannst du dich f\u00fcr die Liora-Ausbildungen entscheiden. In unserem Data-Engineer-Kurs lernst du die besten Praktiken und den Umgang mit Software und L\u00f6sungen.<\/p>\n<p>In den verschiedenen Modulen lernst du unter anderem Python-Programmierung, <a href=\"https:\/\/liora.io\/de\/continuous-integration-ci-und-continuous-delivery-cd\">CI\/CD<\/a> mit Git, Datenbanken und Big Data, Machine Learning und die Automatisierung und Bereitstellung mit Docker und Kubernetes kennen.<\/p>\n<p>Alle unsere Kurse werden komplett als Fernkurs, BootCamp oder Weiterbildung durchgef\u00fchrt. Am Ende des Kurses verf\u00fcgst du \u00fcber alle Kompetenzen, die du als Data Engineer ben\u00f6tigst, und erh\u00e4ltst eine Zertifizierung von Mines ParisTech PSL Executive Education. Du kannst auch Block 3 der RNCP-Zertifizierung 36129 &#8222;Projektleiter f\u00fcr k\u00fcnstliche Intelligenz&#8220; validieren und dich auf die Microsoft-Zertifizierung AZ-900 vorbereiten.<\/p>\n<p>Bez\u00fcglich der Finanzierung ist zu erw\u00e4hnen, dass unsere Weiterbildung f\u00fcr die Finanzierung durch den Bildungsgutschein in Frage kommt. Entdecke Liora jetzt!<\/p>\n<p><a href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\"><br \/>\nEntdecke unsere Kurse<br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Terraform erm\u00f6glicht die Bereitstellung von Infrastruktur auf der Azure DevOps Pipeline. Erfahre alles, was du \u00fcber diese Alternative zum Azure Ressource Manager wissen musst, und was die St\u00e4rken dieser L\u00f6sung sind! Jeder Cloud-Anbieter hat seine eigene Methode zur Bereitstellung der Infrastruktur. Microsoft Azure verwendet zum Beispiel die Konfigurationssprache JSON, w\u00e4hrend AWS und die Google Cloud [&hellip;]<\/p>\n","protected":false},"author":78,"featured_media":183984,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-183979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/183979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=183979"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/183979\/revisions"}],"predecessor-version":[{"id":217221,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/183979\/revisions\/217221"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/183984"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=183979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=183979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}