Verwendung von Arbeitsbereichen planen
Planen und gestalten Sie Ihre Arbeitsbereiche mithilfe der folgenden Fragen als Eingabeaufforderungen:
- Wie beziehe ich Arbeitsbereiche mit Git-Repositorys?
- Wie viele Arbeitsbereiche benötigt meine Anwendungsumgebung?
- Wie kann ich Terraform-Konfigurationsdateien in verschiedenen Umgebungen und Arbeitsbereichen wiederverwenden?
- Wie kann ich den Zugriff auf meine Arbeitsbereiche kontrollieren und diese verwalten?
Arbeitsbereiche und Git-Repositorys
Arbeitsbereiche verwenden Terraform-Vorlagen aus privaten oder öffentlichen Git-Repositorys wie GitHub, GitLab, Bitbucket und Azure DevOps. Die folgende Tabelle zeigt das Format der Repository-Quellen.
| Git-Repositorys | URL |
|---|---|
GitHub |
https://github.com/<your_user_name>/<repo_name>/tree/<branch_name>/<folder_name> |
GitLab |
https://gitlab.com/<your_user_name>/<project_name>/tree/<branch_name>/<folder_name> |
Bitbucket |
https://bitbucket.org/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name>https://<username>@bitbucket.org/<workspace_name>/tf_cloudless_sleepy/src/master |
Azure DevOps |
https://azure.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name>https://visualstudio.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name> |
Wie viele Arbeitsbereiche benötigt meine Anwendungsumgebung?
Die Anzahl der benötigten Arbeitsbereiche in IBM Cloud Schematics wird durch die Struktur Ihrer Anwendung und die Umgebungen bestimmt, die Sie zum Entwickeln, Testen und Veröffentlichen Ihrer Anwendung oder Ihres Mikroservice benötigen.
Als Faustregel sollten Sie separate Arbeitsbereiche für jeden Microservice und die von Ihnen verwendeten Umgebungen in Betracht ziehen. Wenn Sie beispielsweise eine Produkt-App haben, die aus einer Suche, einer Zahlung und einer Überprüfung von Microservice-Komponenten besteht, sollten Sie in Erwägung ziehen, separate Arbeitsbereiche für jede Microservice-Komponente und ihre Entwicklungs-, Staging- und Produktionsumgebungen zu erstellen. Mit separaten Arbeitsbereichen für jede Komponente und Umgebung können Sie Ihre Terraform-Konfigurationsdateien und die zugehörigen Cloud-Ressourcen entwickeln, bereitstellen und aktualisieren, ohne andere Komponenten zu beeinträchtigen.
Überprüfen Sie die folgende Abbildung und beobachten Sie die Arbeitsbereichsstruktur IBM Cloud Schematics für eine App, die aus drei Mikroservices besteht.
In Organisationen, in denen die Zuständigkeiten der Infrastruktur auf mehrere Teams verteilt sind, wird nicht empfohlen, einen Arbeitsbereich für die Verwaltung der gesamten Staging-oder Produktionsumgebungen zu verwenden. Wenn Sie alle Ihre Cloud-Ressourcen in einem einzigen Arbeitsbereich bereitstellen, kann es für verschiedene Teams schwierig werden, Aktualisierungen zu koordinieren und den Zugriff auf diese Ressourcen zu verwalten. Separate Arbeitsbereiche, die gemeinsame Nutzung von Infrastrukturdefinitionen unter Verwendung von Datenquellen mit fernem Status bieten einen Mechanismus zum Erstellen separater Zuständigkeitsbereiche.
Wie strukturiere ich meine Git-Ablagen, um meine Arbeitsbereiche abzubilden?
Strukturieren Sie Ihr Git-Repository so, dass Sie ein Repository für alle Ihre Terraform-Konfigurationsdateien haben, die Ihren Microservice erstellen, und verwenden Sie Eingabevariablen in Schematics- oder GitHub-Zweigen oder -Verzeichnissen, um zwischen Ihren Entwicklungs-, Staging- und Produktionsumgebungen zu unterscheiden.
Überprüfen Sie die folgende Tabelle, um eine Liste der Optionen für die Strukturierung des Git-Repositorys für die Zuordnung der verschiedenen Arbeitsbereichsumgebungen zu suchen.
| Option | Beschreibung |
|---|---|
| Ein Git-Repository, Verwendung von Variablen für die Unterscheidung zwischen den Umgebungen | Erstellen Sie ein Git-Repository, in dem Sie die Terraform-Konfigurationsdateien speichern, aus denen die Mikroservicekomponente besteht. Erstellen Sie die Terraform-Konfigurationsdateien so allgemein wie möglich, damit Sie dieselbe Konfiguration für mehrere Umgebungen verwenden können. Verwenden Sie zum Konfigurieren der technischen Daten einer Entwicklungs-, Staging- und Produktionsumgebung Terraform-Eingabevariablen in den Konfigurationsdateien. Eingabevariablen werden automatisch in IBM Cloud Schematics geladen, wenn Sie einen Arbeitsbereich erstellen. Wenn Sie einen Arbeitsbereich anpassen möchten, geben Sie die umgebungsspezifischen Werte für die Variablen ein. Diese Konfiguration ist nützlich, wenn Sie über ein Team verfügen, das den Lebenszyklus der Mikroservicekomponente verwaltet und sich die Konfigurationen der Umgebungen nicht erheblich unterscheiden. |
| Ein Git-Repository, Verwendung von Verzweigungen für die Unterscheidung zwischen den Umgebungen | Erstellen Sie ein Git-Repository für die Mikroservicekomponente und verwenden Sie verschiedene Git-Verzweigungen zum Speichern der Terraform-Konfigurationsdateien für jede einzelne Umgebung. Bei Verwendung dieser Konfiguration werden die Umgebungen eindeutig voneinander getrennt und Sie können besser steuern, wer auf eine bestimmte Konfiguration zugreifen und diese ändern kann. Sie müssen festlegen, wie Änderungen in einer Konfigurationsdatei verzweigungsübergreifend angegeben werden, um zu vermeiden, dass es in jeder Umgebung unterschiedliche Konfigurationen gibt. |
| Ein Git-Repository, Verwendung von Verzeichnissen für die Unterscheidung zwischen den Umgebungen | Für Organisationen, die kurzlebige Verzweigungen bevorzugen und in denen sich die Konfigurationen in verschiedenen Umgebungen erheblich unterscheiden, sollten Sie in Betracht ziehen, Verzeichnisse für die verschiedenen Konfigurationen
der Umgebungen zu erstellen. Bei Verwendung dieser Konfiguration werden von allen Verzeichnisse Änderungen überwacht, die für die Verzweigung master festgeschrieben werden. Sie müssen festlegen, wie Änderungen in einer
Konfigurationsdatei verzeichnisübergreifend angegeben werden, um zu vermeiden, dass es in jeder Umgebung unterschiedliche Konfigurationen gibt. |
| Verwendung eines Git-Repositorys pro Umgebung | Verwenden Sie ein Git-Repository für jede einzelne Umgebung. Bei Verwendung dieser Konfiguration besteht eine 1:1-Beziehung zwischen einem Arbeitsbereich und einem Git-Repository und Sie können auf jedes einzelne Git-Repository getrennte Berechtigungen anwenden. Stellen Sie sicher, dass Ihr Team mehrere Git-Repositorys verwalten und ihre Synchronisation sicherstellen kann. |
Wie kann ich Konfigurationsdateien über mehrere Umgebungen und Arbeitsbereiche hinweg wiederverwenden?
Versuchen Sie, die Anzahl der Terraform-Konfigurationsdateien, die Sie verwalten müssen, zu minimieren, indem Sie standardisierte Terraform-Vorlagen erstellen und Variablen verwenden, um die Verwendung einer Vorlage an Ihre Bedürfnisse anzupassen.
Sie können jetzt Terraform-Module aus der Terraform-Modulregistry für IBM Cloud verwenden.
Mit standardisierten Terraform-Vorlagen oder Terraform-Modulen können Sie sicherstellen, dass in Ihrer Organisation die bewährten Verfahren der Entwicklung umgesetzt werden und alle Terraform-Konfigurationsdateien dieselbe Struktur aufweisen. Wenn die Entwickler die Struktur einer Terraform-Konfigurationsdatei kennen, ist es für sie einfacher, eine Datei zu verstehen, Variablen zu deklarieren, Code bereitzustellen und Fehler zu beheben.
Wie steuere ich den Zugriff auf die Arbeitsbereiche?
IBM Cloud Schematics ist vollständig in IBM Cloud® Identity and Access Management integriert. Informationen zum Steuern des Zugriffs auf einen Arbeitsbereich und des Zugriffs auf die Ausführung von Infrastrukturcode mit IBM Cloud Schematics finden Sie in Benutzerzugriff verwalten.
Was muss ich beachten, wenn ich ein Repository habe, das zuvor mit Terraform eigenständig verwendet wurde?
Da IBM Cloud Schematics Terraform-as-a-Service bereitstellt, können Sie Ihre vorhandenen Terraform-Vorlagen mit Arbeitsbereichen wiederverwenden. Je nachdem, wie Ihre Terraform-Vorlagen geschrieben und Git-Repositorys strukturiert sind, müssen Sie möglicherweise Änderungen vornehmen, um IBM Cloud Schematicserfolgreich zu verwenden.
- Providerblockdeklaration: Da IBM Cloud Schematics in IBM Cloud® Identity and Access Management integriert ist, wird Ihr IBM Cloud-API-Schlüssel automatisch für alle IAM-fähigen Ressourcen abgerufen und Sie müssen diese Informationen
nicht im Block
providerangeben. Für klassische Infrastrukturressourcen wird der API-Schlüssel jedoch nicht abgerufen. Weitere Informationen finden Sie in Blockproviderkonfigurieren. - Terraform-Befehlszeilen und IBM Cloud-Provider-Plug-in: Für die Verwendung von IBM Cloud Schematics müssen Sie die Terraform-Befehlszeile oder das IBM Cloud Provider Plug-in for Terraform nicht installieren. Falls Sie das Bereitstellen der Ressourcen automatisieren möchten, versuchen Sie dies stattdessen mithilfe des IBM Cloud Schematics-Befehlszeilen-Plugs-ins.
Continuous Delivery-Toolchain für Ihren Arbeitsbereich einrichten
Verbinden Sie Ihr Quellenrepository mit einer Continuous Delivery-Pipeline in IBM Cloud, um automatisch einen Terraform-Ausführungsplan zu generieren und Ihren Terraform-Code in IBM Cloud anzuwenden, wenn Sie Ihre Terraform-Konfigurationsdateien aktualisieren.
- Wenn Sie noch nicht über eine Continuous Delivery-Serviceinstanz in Ihrem Konto verfügen, erstellen Sie eine.
- Öffnen Sie über den IBM Cloud-Katalog den Continuous Delivery-Service.
- Wählen Sie die IBM Cloud-Region aus, in der Sie den Service erstellen möchten.
- Wählen Sie einen Preisstrukturplan aus.
- Geben Sie einen Namen für Ihre Serviceinstanz ein, wählen Sie eine Ressourcengruppe aus und geben Sie alle Tags ein, die Sie Ihrer Serviceinstanz zuordnen möchten.
- Klicken Sie auf Erstellen, um die Serviceinstanz in Ihrem Konto zu erstellen.
- Wählen Sie im Arbeitsbereich-Dashboard einen Arbeitsbereich aus.
- Wählen Sie die Registerkarte Einstellungen aus.
- Klicken Sie im Abschnitt Zusammenfassung auf Continuous Delivery aktivieren.
- Konfigurieren Sie die Toolchain.
- Geben Sie einen Namen für Ihre Toolchain ein und wählen Sie die Region und die Ressourcengruppe aus, in der diese Toolchain bereitgestellt werden soll. Die Region und die Ressourcengruppe können sich von der Region und der Ressourcengruppe unterscheiden, die Sie für Ihren Schematics-Arbeitsbereich verwendet haben.
- Wählen Sie den Typ des Quellenrepositorys aus, in dem die Terraform-Konfigurationsdateien gespeichert sind. Beispiel: GitHub.
- Überprüfen Sie die Informationen für Ihr Quellenrepository. Wenn Ihre Terraform-Dateien beispielsweise in GitHub gespeichert sind, überprüfen Sie den GitHub-Server und das Repository, für das Sie eine Continuous Delivery-Toolchain erstellen möchten. Diese Felder werden auf Grundlage Ihrer Arbeitsbereichskonfiguration vorab ausgefüllt.
- Optional: Wählen Sie diese Option aus, wenn Sie Git Issues und die Codeänderungsverfolgung für Ihre Toolchain aktivieren möchten.
- Wählen Sie das Symbol für Delivery Pipeline aus, um Ihre Delivery Pipeline zu konfigurieren.
- Stellen Sie sicher, dass die angezeigte Arbeitsbereichs-ID korrekt ist.
- Geben Sie einen IBM Cloud-API-Schlüssel ein. Wenn Sie nicht über einen API-Schlüssel verfügen, klicken Sie auf Neu +, um einen solchen zu erstellen.
- Klicken Sie auf Erstellen, um die Konfiguration Ihrer Toolchain abzuschließen. Sie sehen eine Übersicht der Tools, die für Ihre Toolchain konfiguriert wurden.
- Öffnen Sie die Delivery Pipeline. Die Delivery Pipeline umfasst Phasen (Stages) zum Abrufen von Aktualisierungen aus Ihrem Quellenrepository, zum Erstellen eines Terraform-Ausführungsplans, zum Anwenden dieses Plans und zum Ausführen einer Statusprüfung für Ihren Arbeitsbereich.
- Aktualisieren Sie die Terraform-Datei in Ihrem Quellenrepository und überprüfen Sie, wie diese Änderung in Ihrer Delivery Pipeline verarbeitet wird. Wenn eine der Phasen fehlschlägt, klicken Sie auf Protokolle und Verlauf anzeigen, um die Fehlerbehebung zu starten. Weitere Informationen zum Anzeigen von Protokollen und Verlauf finden Sie unter "Überprüfen der Jobdetails von Schematics ".