Fehlerbehebung für Toolchains

Zu den allgemeinen Problemen bei der Verwendung von Toolchains gehören die Konfiguration der Werkzeugintegration oder Probleme mit Toolchain-Vorlagen. In vielen Fällen können Sie diese Probleme beheben, indem Sie eine Reihe einfacher Schritte ausführen.

Warum kann ich keine Toolchain aus einer Vorlage erstellen, die ein privates Repository in einer anderen Region verwendet?

Die Toolchain-Vorlage, die Sie verwenden, verweist auf ein privates Git Repos and Issue Tracking-Repository.

Git Repos and Issue Tracking ist regionsspezifisch. Wenn Sie versuchen, eine Toolchain aus einer Vorlage zu erstellen und eine Region als Ziel zu verwenden, in der sich das private Repository nicht befindet, schlägt die Einrichtung der Git-Integration fehl.

Wenn Sie ein Git Repos and Issue Tracking-Repository zu einer Toolchain in einer bestimmten Region hinzufügen, wird Ihre IBM ID einem GitLab-Benutzernamen zugeordnet, der Ihnen Zugriff auf GitLab in dieser Region erteilt. Auch wenn Ihr GitLab-Benutzername in allen Regionen gleich angezeigt wird, ist der zugehörige GitLab-Benutzer in jeder Region ein anderer, da jede Region eine separate Installation von GitLab enthält. Der Zugriff auf GitLab-Benutzer in anderen Regionen wird Toolchains nicht automatisch gewährt, selbst wenn der GitLab-Benutzername identisch zu sein scheint.

Machen Sie das Git Repos and Issue Tracking-Repository öffentlich, sodass von überall darauf zugegriffen werden kann, einschließlich anderer IBM Cloud-Regionen.

Wenn das Repository privat sein muss, kann der Eigner des Repositorys Zugriff darauf gewähren, indem er ein persönliches Zugriffstoken auf dem GitLab-Server erstellt, auf dem sich das Quellenrepository befindet. Sie benötigen nur Zugriff auf das private Repository, um während der Erstellung der Toolchain den Inhalt zu klonen. Das persönliche Zugriffstoken kann mit einem Ablaufdatum erstellt werden, um seine Lebensdauer auf einen Tag zu begrenzen.

Nachdem Sie über ein persönliches Zugriffstoken verfügen, können Sie eine URL für den Zugriff auf das Repository aus anderen Regionen erstellen. Während Sie die Toolintegration konfigurieren, aktualisieren Sie im Feld Quellenrepository-URL die Repository-URL so, dass Ihre Benutzername und Ihr Zugriffstoken verwendet werden.

https://user:XXXXXXX@us-south.git.cloud.ibm.com/group/node-hello-world

Dabei steht user für Ihren Benutzernamen GitLab, XXXXXXX für das Zugriffstoken, group für die Gruppe, in der das Projektarchiv gespeichert ist, und node-hello-world für den Projektarchivnamen.

Wenn sich Ihr GitLab-Repository nicht in einer GitLab-Gruppe befindet, entspricht der Wert von group Ihrem Benutzernamen.

Es wurde eine Toolintegration für meine Toolchain konfiguriert, aber die Konfiguration wird nicht angezeigt. Warum?

Wenn während der Einrichtung ein Fehler auftritt oder die Kommunikation zwischen der Toolchain und dem Tool nicht ordnungsgemäß abgeschlossen wird, schlägt die Konfiguration fehl.

Nachdem Sie eine Toolintegration für Ihre Toolchain hinzugefügt und konfiguriert haben, wird eine Fehlernachricht angezeigt, dass die Konfiguration fehlgeschlagen ist.

Wenn Sie eine Toolintegration hinzufügen, kommuniziert die Toolchain mit dem Tool, das durch die Toolintegration dargestellt wird, um alle notwendigen Ressourcen bereitzustellen und diese der Toolchain zuzuordnen. Wenn während der Einrichtung ein Fehler auftritt oder die Kommunikation zwischen der Toolchain und dem Tool nicht ordnungsgemäß abgeschlossen wird, so wird die Toolintegration in einen Fehlerstatus versetzt.

Versuchen Sie, die Toolintegration erneut zu konfigurieren:

  1. Bewegen Sie auf der Karte des Tools den Mauszeiger über die Nachricht Setup failed und klicken Sie auf Neu konfigurieren.

    Neu konfigurieren
    neu konfigurieren*

  2. Stellen Sie sicher, dass Sie gültige Konfigurationsparameter verwenden. Wenn der Fehler durch eine ungültige Konfiguration verursacht wurde, wird eine Fehlernachricht angezeigt, z. B. The integration could not be set up. Check the settings and try again. Reason: Invalid api_key:fakeKey. Aktualisieren Sie die Einstellungen für die Toolintegration und klicken Sie auf Integration speichern.

  3. Wenn der Fehler durch einen Kommunikationsfehler verursacht wurde, klicken Sie auf Integration speichern, um einen erneuten Versuch zu starten.

Warum kann ich Toolchains nicht über die ibmcloud-Befehlszeilenschnittstelle löschen?

Derzeit können Toolchains nicht über die 'ibmcloud resource'-Befehlszeilenschnittstelle gelöscht werden.

Ich habe versucht, eine Toolchain unter Angabe des Befehls ibmcloud resource service-instance-delete über die Befehlszeile zu löschen, aber der Befehl ist mit der folgenden Fehlernachricht fehlgeschlagen:

Error Code: RC-ServiceBrokerErrorResponse Message: description : Toolchain delete must be performed from the toolchain dashboard

Toolchains sind ein spezieller Typ von Ressource auf der Cloudplattform, den Sie derzeit nicht über die Befehlszeilenschnittstelle ibmcloud resource löschen können.

Gehen Sie wie folgt vor, um eine Toolchain zu löschen:

  1. Klicken Sie in der IBM Cloud Konsole auf das Menü-Symbol (Hamburger-Symbol ) > Plattformautomatisierung > Toolchains. Klicken Sie auf der Seite 'Toolchains' auf die zu löschende Toolchain.
  2. Klicken Sie auf das Menü Aktionen und wählen Sie Löschen aus. Beim Löschen einer Toolchain werden auch alle zugehörigen Toolintegrationen entfernt, was unter Umständen bewirkt, dass von diesen Integrationen verwaltete Ressourcen ebenfalls gelöscht werden.
  3. Bestätigen Sie das Löschen, indem Sie den Namen der Toolchain eingeben und auf Löschen klicken.

Sie können die IBM Cloud-CLIDeveloper Tools-Befehle (ibmcloud dev) verwenden, um Toolchains zu löschen. Nach der Installation der IBM Cloud-CLI können Sie eine Toolchain über die Befehlszeile löschen, indem Sie den Befehlibmcloud dev toolchain-delete verwenden.

Warum werden meine Toolchains in meinem DevOps-Dashboard nicht angezeigt?

Wenn Sie das DevOps-Dashboard aufrufen, werden Ihre Toolchains nicht angezeigt.

Ihre Toolchain wird in der Toolchain nur angezeigt, wenn Sie die richtige Position ausgewählt haben. DevOps Insights ist nur an drei Standorten verfügbar: Dallas, Frankfurt und London.

Ändern Sie auf Ihrer Toolchain-Seite den Standort in Dallas, Frankfurt oder London, um alle Ihre integrierten DevOps Insights-Toolchains anzuzeigen.

Warum kann ich keine Toolchain erstellen, wenn der Rootschlüssel inaktiviert ist?

Wenn Sie versuchen, eine Toolchain zu erstellen, wird die folgende Benachrichtigung angezeigt: The root key of the Key Management Service instance that was configured for the Continuous Delivery service in the selected resource group and region is disabled.

Wenn Sie eine Toolchain erstellen, müssen Sie sie mithilfe eines aktivierten Rootschlüssels für die Verschlüsselung schützen.

Verwenden Sie eine der folgenden Methoden, um den Rootschlüssel für die Verschlüsselung zu aktivieren:

Warum kann ich die Serviceinstanzen, die ich auf der Seite 'Toolchains' erstellt habe, nicht anzeigen, wenn der Rootschlüssel inaktiviert ist?

Wenn Sie Ihre Toolchain öffnen, wird die folgende Benachrichtigung angezeigt: The root key of the key management service instance that was used to encrypt this toolchain is disabled.

Da die Informationen, die zum Anzeigen der Serviceinstanzen der Toolchain erforderlich sind, entschlüsselt werden, wenn Sie eine Toolchain öffnen, müssen Sie sicherstellen, dass der Rootschlüssel für die Verschlüsselung aktiviert ist.

Verwenden Sie eine der folgenden Methoden, um den Rootschlüssel für die Verschlüsselung zu aktivieren:

Warum schlägt die Konfiguration mit dem Fehler Could not find value for secret reference... fehl, wenn ich Terraform oder die API zum Konfigurieren einer Toolintegration verwende?

Die Toolintegration ist mit einer Referenz auf einen geheimen Schlüssel konfiguriert, aber die Toolchain kann den referenzierten geheimen Schlüssel oder den Speicher für geheime Schlüssel nicht finden.

Wenn Sie Terraform oder die API zum Erstellen oder Aktualisieren einer Toolintegration verwenden, schlägt die Konfiguration mit der Fehlernachricht Could not find value for secret reference... fehl.

Viele Toolintegrationen enthalten Konfigurationseigenschaften, die als geheime Schlüssel klassifiziert sind. Wenn Sie diese Eigenschaften in einer Terraform-Ressource oder einem API-Aufruf festlegen, können Sie sie als Referenzen auf geheime Schlüssel festlegen. Eine Referenz für geheime Schlüssel ist eine speziell formatierte Zeichenfolge, die den Namen und die Position eines geheimen Schlüssels in einem Speicher für geheime Schlüssel angibt, der in die Toolchain integriert ist. Dieser Fehler gibt an, dass die Toolchain den angegebenen geheimen Schlüssel nicht finden kann oder dass der Speicher für geheime Schlüssel nicht in die Toolchain integriert ist. Der Fehler kann bei Referenzen auf geheime Schlüssel nach Namen auftreten, wenn mindestens eines der Segmente in der Zeichenfolge {vault:...} der Referenz für geheime Schlüssel falsch ist oder wenn ein Schlüssel der angegebenen Gruppe, des angegebenen Namens oder des angegebenen Felds nicht im Speicher für geheime Schlüssel vorhanden ist. Der Fehler kann bei Referenzen auf geheime Schlüssel durch CRN auftreten, wenn der geheime CRN auf einen gelöschten geheimen Schlüssel verweist.

Die Fehlernachricht enthält die Referenzzeichenfolge für den geheimen Schlüssel, die nicht aufgelöst werden kann.

Führen Sie die folgenden Tasks für Referenzen auf geheime Schlüssel nach Namen aus:

  • Überprüfen Sie, ob der Speicher für geheime Schlüssel als Tool in die Toolchain integriert ist und ob die Toolintegration ordnungsgemäß konfiguriert ist, um anhand des Serviceinstanznamens zu identifizieren. Wenn die Toolintegration fehlerhaft konfiguriert ist, bearbeiten Sie die Toolintegration, um die Fehlerbedingung zu korrigieren. Speichern Sie dann die Konfiguration.
  • Überprüfen Sie, ob das erste Segment der Referenz auf den geheimen Schlüssel {vault::...} mit dem Namen der Toolintegration für den Speicher für geheime Schlüssel übereinstimmt. Beispiel: Die Referenz für geheime Schlüssel {vault::my-secret-store.my-secret} erwartet, dass die Toolchain über eine Toolintegration für den Speicher für geheime Schlüssel namens my-secret-store verfügt. Dieser Wert ist der Name der Toolintegration, nicht der Name der Serviceinstanz des geheimen Speichers.
  • Wenn der geheime Schlüssel in Key Protectgespeichert ist, stellen Sie sicher, dass das zweite Segment der Referenz auf den geheimen Schlüssel {vault::...} dem Namen des Schlüssels entspricht, den Sie in der Serviceinstanz von Key Protect verwenden möchten. Die Referenz auf geheime Schlüssel {vault::my-kms.my-key} erwartet beispielsweise, dass ein Schlüssel mit dem Namen my-key in der Serviceinstanz von Key Protect gefunden wird. Diese Serviceinstanz wird mit einer Key Protect-Toolintegration namens my-kms in die Toolchain integriert.
  • Wenn der geheime Schlüssel in Secrets Managergespeichert ist, überprüfen Sie, ob das zweite und dritte Segment der Referenz für geheime Schlüssel {vault::...} mit den Namen der Gruppe geheimer Schlüssel und des geheimen Schlüssels übereinstimmen, die Sie in der Serviceinstanz von Secrets Manager Die Referenz für geheime Schlüssel {vault::my-sm.my-group.my-key} erwartet beispielsweise, dass ein geheimer Schlüssel mit dem Namen my-key in einer Gruppe geheimer Schlüssel mit dem Namen my-group gefunden wird. Dieser geheime Schlüssel und diese Gruppe geheimer Schlüssel werden in der Secrets Manager-Serviceinstanz gespeichert, die mithilfe einer Secrets Manager-Toolintegration mit dem Namen my-sm in die Toolchain integriert wird.
  • Wenn das Geheimnis in HashiCorp Vault gespeichert ist, überprüfen Sie, ob das zweite und dritte Segment des {vault::...} Geheimverweises mit den Namen des Geheimnisses und des Geheimfeldes im HashiCorp Vault Server übereinstimmen. Der Geheimverweis {vault::my-hcv.my-secret.my-field} erwartet beispielsweise ein Geheimnis mit dem Namen my-secret auf dem Server HashiCorp Vault und ein Feld mit dem Namen my-field innerhalb dieses Geheimnisses. Dieser Server wird in die Toolchain integriert, indem eine HashiCorp Vault Toolintegration verwendet wird, die my-hcv genannt wird.

Führen Sie die folgenden Tasks für Referenzen auf geheime Schlüssel durch CRn aus:

  • Überprüfen Sie, ob der Speicher für geheime Schlüssel als Tool in die Toolchain integriert ist und ob die Toolintegration ordnungsgemäß für die Identifikation durch den CRN der Serviceinstanz konfiguriert ist. Wenn die Toolintegration fehlerhaft konfiguriert ist, bearbeiten Sie die Toolintegration, um die Fehlerbedingung zu korrigieren. Speichern Sie dann die Konfiguration.
  • Überprüfen Sie, ob der CRN der Serviceinstanz von Secrets Manager, die in der Toolintegration konfiguriert ist, dieselbe Instanz referenziert wie der CRN des fehlgeschlagenen geheimen Schlüssels.

Warum schlägt die Konfiguration mit dem Fehler A problem was encountered while attempting to resolve secret reference... fehl, wenn ich Terraform oder die API zum Konfigurieren einer Toolintegration verwende?

Die Toolintegration ist mit einer Referenz auf einen geheimen Schlüssel konfiguriert, aber die Toolchain ist nicht berechtigt, den geheimen Schlüssel aus dem Speicher für geheime Schlüssel abzurufen, in dem sich der geheime Schlüssel befindet.

Wenn Sie Terraform oder die API zum Erstellen oder Aktualisieren einer Toolintegration verwenden, schlägt die Konfiguration mit der Fehlernachricht A problem was encountered while attempting to resolve secret reference... fehl.

Viele Toolintegrationen enthalten Konfigurationseigenschaften, die als geheime Schlüssel klassifiziert sind. Wenn Sie diese Eigenschaften in einer Terraform-Ressource oder einem API-Aufruf festlegen, können Sie sie als Referenzen auf geheime Schlüssel festlegen. Eine Referenz für geheime Schlüssel ist eine speziell formatierte Zeichenfolge, die den Namen und die Position eines geheimen Schlüssels in einem Speicher für geheime Schlüssel angibt, der in die Toolchain integriert ist. Bei IBM Cloud geheimen Speicherdiensten wie Key Protect und weist der Secrets Manager Fehler darauf hin, dass die Toolchain zwar Kontakt zum geheimen Speicherdienst aufnehmen kann, jedoch nicht berechtigt ist, Geheimnisse aus dem Dienst abzurufen. In der Regel tritt dieses Problem auf, weil IBM CloudIdentity and Access Management (IAM) keine Service-zu-Service-Autorisierungsrichtlinie hat, die es der Toolchain erlaubt, Geheimnisse aus dem Service zu lesen.

Die Fehlernachricht enthält die Referenzzeichenfolge für den geheimen Schlüssel, die nicht aufgelöst werden kann.

Führen Sie die folgenden Tasks für Referenzen auf geheime Schlüssel nach Namen aus:

  • Untersuchen Sie das erste Segment der Referenz auf den geheimen Schlüssel {vault::...}. Dieses Segment ist der Name der Toolintegration für den Speicher für geheime Schlüssel in der Toolchain. Die Referenz für geheime Schlüssel {vault::my-kms.my-key} gibt beispielsweise eine Toolintegration für den Speicher für geheime Schlüssel namens my-kms an.
  • Überprüfen Sie die Integrationskonfiguration des Tools für geheime Schlüssel, um sicherzustellen, dass der Parameter name mit dem Namen der Integration des Tools für geheime Schlüssel übereinstimmt. Stellen Sie außerdem sicher, dass die Toolintegration ordnungsgemäß konfiguriert ist, um anhand des Serviceinstanznamens zu identifizieren, und dass die richtige Key Protect-oder Secrets Manager-Serviceinstanz ausgewählt ist.
  • Fügen Sie mithilfe von IAM eine Service-zu-Service-Berechtigungsrichtlinie aus der Toolchain zur Serviceinstanz Key Protect oder Secrets Manager hinzu. In der Berechtigungsrichtlinie ist die Toolchain der Quellenservice und der geheime Schlüssel ist der Zielservice. Wenn Sie Key Protectals Ziel angeben, stellen Sie sicher, dass die Richtlinie die Rollen Viewer und ReaderPlus erteilt. Wenn Sie Secrets Managerals Ziel festlegen, müssen Sie sicherstellen, dass die Richtlinie den Rollen Viewer und SecretsReader erteilt.

Führen Sie die folgenden Tasks für Referenzen auf geheime Schlüssel durch CRn aus:

  • Überprüfen Sie die Konfiguration des Tools für den Speicher für geheime Schlüssel, um sicherzustellen, dass sie ordnungsgemäß für die Identifizierung durch den CRN der Serviceinstanz konfiguriert ist. Stellen Sie außerdem sicher, dass der CRN für die Secrets Manager-Serviceinstanz korrekt ist.
  • Verwenden Sie IAM, um eine Service-zu-Service-Berechtigungsrichtlinie aus der Toolchain zur Serviceinstanz Secrets Manager hinzuzufügen. In der Berechtigungsrichtlinie ist die Toolchain der Quellenservice und die Secrets Manager-Instanz ist der Zielservice. Stellen Sie sicher, dass die Richtlinie die Rollen Viewer und SecretsReader erteilt.

Weitere Informationen zu Service-zu-Service-Berechtigungsrichtlinien finden Sie unter Berechtigungen zum Erteilen von Zugriff zwischen Services verwenden.

Ein Beispiel für die Konfiguration einer Service-zu-Service-Berechtigungsrichtlinie von einer Toolchain zu einer Serviceinstanz des Speichers für geheime Schlüssel mit Terraform finden Sie unter Referenzen auf geheime Schlüssel mit Terraform angeben.

Warum schlägt die Konfiguration fehl, wenn ich Key Protect, Secrets Manageroder App Configuration mithilfe von Terraform oder der API konfiguriere?

Die Toolintegration bezieht sich auf eine Key Protect-, Secrets Manager-oder App Configuration-Serviceinstanz, die nicht vorhanden ist.

Wenn Sie Terraform oder die API verwenden, um eine Key Protect, Secrets Manager, oder App Configuration Tool-Integration zu erstellen oder zu aktualisieren, schlägt die Konfiguration mit der There was a problem with the provided service parameters, please check that they are valid Fehlermeldung fehl.

Die Tool-Integration ist mit dem Namen oder der ID einer Key Protect, Secrets Manager, oder App Configuration Dienstinstanz konfiguriert, die nicht gefunden oder auf die nicht zugegriffen werden kann. Wenn Sie Terraform zum Verwalten der Serviceinstanz und der Toolintegration verwenden, versucht Terraform möglicherweise, die Toolintegration zu erstellen oder zu aktualisieren, bevor die Serviceinstanz erstellt wird.

Wenn Sie Terraform verwenden, überprüfen Sie Ihre Terraform-Konfiguration, um sicherzustellen, dass die ibm_cd_toolchain_tool_keyprotect ibm_cd_toolchain_tool_appconfig Tool-Integrationsressource, ibm_cd_toolchain_tool_secretsmanager, oder von der Ressource Key Protect App Configurationibm_resource_instance, Secrets Manager, oder abhängt, die die Tool-Integration darstellt. Sie können diese Abhängigkeit in der Toolintegrationsressource angeben, indem Sie auf Attribute der Serviceinstanzressource verweisen oder indem Sie ein Metaargument depends_on angeben, das auf die Serviceinstanzressource verweist. Sie können direkt auf die Serviceinstanzressource oder indirekt über andere temporäre Ressourcen verweisen. Durch die korrekte Deklaration von Abhängigkeiten zwischen Ressourcen können Sie Terraform zwingen, Ressourcen in der richtigen Reihenfolge zu erstellen, zu aktualisieren und löschen.

Ein Beispiel für die Funktionsweise von Abhängigkeiten zwischen Terraform-Ressourcen finden Sie unter Referenzen auf geheime Schlüssel mit Terraform angeben.

Wenn Sie die API verwenden, überprüfen Sie die Konfigurationsparameter der Key Protect-, Secrets Manager-oder App Configuration-Toolintegration, die Sie erstellen oder aktualisieren möchten. Stellen Sie sicher, dass der Name oder die ID der Serviceinstanz, die Sie integrieren möchten, in der Konfiguration der Toolintegration korrekt angegeben ist.