Terraform für Continuous Delivery einrichten
Continuous Delivery wird am 12. Februar 2027 in den folgenden Regionen eingestellt: au-syd, ca-tor, us-east. Code Risk Analyzer wird zu diesem Zeitpunkt ebenfalls in allen Regionen eingestellt. Wenn diese Funktionen in einer Region nicht aktiv genutzt werden, können sie in dieser Region vorzeitig eingestellt werden und es werden keine neuen Instanzen mehr akzeptiert. Weitere Informationen
Terraform auf IBM Cloud® ermöglicht die vorhersehbare und konsistente Erstellung von IBM Cloud-Diensten, sodass Sie komplexe, mehrschichtige Cloud-Umgebungen schnell aufbauen können, indem Sie die Prinzipien von Infrastructure as Code ( IaC ) befolgen. Ähnlich wie bei der Verwendung der IBM Cloud-CLI oder der APIs und SDKs können Sie die Erstellung, Aktualisierung und Löschung Ihrer IBM Cloud® Continuous Delivery-Instanzen mithilfe der HashiCorp Configuration Language (HCL) automatisieren.
Suchen Sie eine verwaltete Lösung für Terraform on IBM Cloud®? Probieren Sie IBM Cloud® Schematics aus. Mit Schematics können Sie die Ihnen vertraute Skriptsprache Terraform nutzen, ohne sich um die Einrichtung und Wartung der Terraform-Befehlszeile und des IBM Cloud®-Provider-Plug-ins kümmern zu müssen. Schematics bietet zudem vordefinierte Terraform-Vorlagen, die Sie ganz einfach aus dem IBM Cloud®-Katalog installieren können.
Terraform installieren und Ressourcen für Continuous Delivery konfigurieren
Bevor Sie beginnen, müssen Sie sicherstellen, dass Sie über den erforderlichen Zugriff zum Erstellen und Arbeiten mit continuous-delivery-Ressourcen
und den erforderlichen Zugriff zum Erstellen und Arbeiten mit toolchain-Ressourcen verfügen.
-
Folgen Sie dem Erste-Schritte-Lernprogramm von Terraform auf IBM Cloud, um die Terraform CLI zu installieren und das IBM Cloud-Provider-Plug-in für Terraform zu konfigurieren. Das Plug-in abstrahiert die IBM Cloud-APIs, die zum Erstellen, Aktualisieren oder Löschen von
continuous-deliveryService-Instanzen und Ressourcentoolchainverwendet werden. -
Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen
main.tf. Fügen Sie in dieser Datei die Konfiguration hinzu, um eine Instanz des Continuous Delivery-Dienstes zu erstellen und einem Benutzer mithilfe von HCL eine Zugriffsrichtlinie in Identity and Access Management (IAM) für diese Instanz zuzuweisen. Außerdem fügen Sie die Konfiguration hinzu, um eine Basis-Toolchain-Ressource in derselben Ressourcengruppe und Region wie die Continuous Delivery-Serviceinstanz zu erstellen und einem Benutzer eine Zugriffsrichtlinie in IAM für diese Ressource zuzuweisen. Die Toolchain und die Continuous Delivery-Serviceinstanz, die die Nutzung der Toolchain steuert, befinden sich in derselben Ressourcengruppe und Region. Weitere Informationen zum Arbeiten mit der Terraform-Konfigurationsdatei finden Sie in der Terraform-Dokumentation.Die Continuous Delivery-Serviceinstanz im folgenden Beispiel hat den Namen
my_cd. Sie wird mit dem Professional Pricing Plan in der Ressourcengruppedefaultund in der Regionus-southerstellt. Dem Benutzeruser1@ibm.comwird die Rolle 'Manager' in der IAM-Zugriffsrichtlinie für die Serviceinstanz zugeordnet.Die Toolchain-Ressource hat den Namen
my_toolchain. Sie wird in der Ressourcengruppedefaultund in der Region erstellt, die im Blockprovider "ibm"in Ihrer Dateiprovider.tfangegeben ist. In diesem Beispiel istregioninprovider.tfaufus-southgesetzt. Dem Benutzeruser2@ibm.comwird die Rolle 'Editor' in der IAM-Zugriffsrichtlinie für die Toolchain-Ressource zugewiesen.data "ibm_resource_group" "default_rg" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "cd_policy" { ibm_id = "user1@ibm.com" roles = ["Manager"] resources { service = "continuous-delivery" resource_instance_id = element(split(":", ibm_resource_instance.cd_instance.id), 7) } } resource "ibm_cd_toolchain" "toolchain_instance" { name = "my_toolchain" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "toolchain_policy" { ibm_id = "user2@ibm.com" roles = ["Editor"] resources { service = "toolchain" resource_instance_id = ibm_cd_toolchain.toolchain_instance.id } } -
Terraform-Befehlszeilenschnittstelle initialisieren.
terraform init -
Erstellen Sie einen Terraform-Ausführungsplan. Im Terraform-Ausführungsplan werden alle Aktionen zusammengefasst, die Sie ausführen müssen, um die Serviceinstanz, die Toolchain-Ressource und die zugehörigen IAM-Zugriffsrichtlinien für Continuous Delivery in Ihrem Konto zu erstellen.
terraform plan -
Erstellen Sie die Continuous Delivery-Serviceinstanz, die Toolchain-Ressource und die zugehörigen IAM-Zugriffsrichtlinien in Ihrem Konto in IBM Cloud.
terraform apply -
Erweitern Sie in der Ressourcenliste vonIBM Cloudden Abschnitt 'Entwicklertools' und wählen Sie dann die von Ihnen erstellte Serviceinstanz von Continuous Delivery aus und notieren Sie die Instanz-ID.
-
Überprüfen Sie, ob die Zugriffsrichtlinie erfolgreich zugeordnet wurde. Weitere Informationen zum Zuweisen von Zugriffsrichtlinien finden Sie unter Zugewiesene Zugriffsberechtigungen in der Konsole überprüfen.
-
Erweitern Sie in der IBM Cloud-Ressourcenlisteden Abschnitt 'Entwicklertools', wählen Sie dann die von Ihnen erstellte Toolchain-Ressource aus und notieren Sie die Instanz-ID.
-
Überprüfen Sie, ob die Zugriffsrichtlinie erfolgreich zugeordnet wurde.
Aktivieren von Plattformprotokollen für eine Continuous Delivery Service-Instanz mit Terraform
Der Dienst Continuous Delivery unterstützt die Möglichkeit, Tekton PipelineRun Protokolle als Plattformprotokolle zu senden. Dies ermöglicht den Empfang aller Tekton PipelineRun Protokolle für die aktuelle Region und
Ressourcengruppe in Ihrem Konto, und Sie können Ihr Konto so konfigurieren, dass diese empfangenen Protokolle an ein Ziel wie IBM Cloud Logs weitergeleitet werden.
-
Passen Sie in Ihrer Terraform-Konfigurationsdatei die Konfiguration so an, dass sie den Parameter
platform_logging_pipelineruns_enabledmit dem Werttrueenthält.data "ibm_resource_group" "group" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id parameters = { platform_logging_pipelineruns_enabled = "true" } }
Weitere Schritte
Nachdem Sie nun Ihre erste Continuous Delivery-Serviceinstanz und Toolchain-Ressource mit Terraform unter IBM Cloud erfolgreich erstellt haben, können Sie zwischen den folgenden Aufgaben wählen:
- Continuous Delivery-Serviceinstanz löschen
- Toolchains verwenden
- Toolintegrationen konfigurieren
- Mit Tekton-Pipelines arbeiten
- Mit privaten Workern von Delivery Pipeline arbeiten
- Toolchains mit Git erstellen
- DevOps Insights zur Toolchain hinzufügen
- Persönliche Daten für Continuous Delivery
Weitere Informationen zu IBM Cloud Provider-Ressourcen und -Datenquellen finden Sie in der Terraform Registry-Dokumentation.