Terraform für Continuous Delivery einrichten
Continuous Delivery wird am 12. Februar 2027 in den folgenden Regionen eingestellt: au-syd, ca-mon, ca-tor, us-east. Code Risk Analyzer und DevOps Insights werden ebenfalls zu diesem Zeitpunkt in allen Regionen abgeschafft. Wenn jedoch eine Region diese Funktionen nicht aktiv nutzt, können die Funktionen in dieser Region früher eingestellt werden und keine neuen Instanzen mehr annehmen. Weitere Informationen
Terraform auf IBM Cloud® ermöglicht die vorhersehbare und konsistente Erstellung von IBM Cloud Diensten, so dass Sie schnell komplexe, mehrschichtige Cloud-Umgebungen nach den Prinzipien von Infrastructure as Code ( IaC ) aufbauen können. Ähnlich wie bei der Verwendung der IBM Cloud CLI oder API und SDKs können Sie die Erstellung, Aktualisierung und Löschung Ihrer IBM Cloud® Continuous Delivery Instanzen mit Hilfe 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 Terraform-Skriptsprache verwenden, mit der Sie vertraut sind, ohne sich um die Einrichtung und Pflege der Terraform-Befehlszeile und des IBM Cloud® Provider-Plug-ins kümmern zu müssen. Schematics bietet auch vordefinierte Terraform-Vorlagen, die Sie 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-deliveryDienstinstanzen undtoolchainRessourcen verwendet werden. -
Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen
main.tf. Fügen Sie in dieser Datei die Konfiguration zum Erstellen einer Continuous Delivery Service-Instanz und zum Zuweisen einer Zugriffsrichtlinie für einen Benutzer in Identity and Access Management (IAM) für diese Instanz mithilfe von HCL hinzu. 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 erfolgreich Ihre erste Continuous Delivery Service-Instanz und Toolchain-Ressource mit Terraform auf IBM Cloud 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.