Risoluzione dei problemi per le toolchain

I problemi generali legati all'uso delle catene di strumenti possono includere problemi di configurazione dell'integrazione degli strumenti o di template della catena di strumenti. In molti casi, puoi risolvere questi problemi seguendo pochi semplici passi.

Perché non posso creare una toolchain da un template che utilizza un repository privato in una regione diversa?

Il template della toolchain che stai utilizzando fa riferimento a un repository Git Repos and Issue Tracking privato.

Git Repos and Issue Tracking è specifico per la regione. Quando provi a creare una toolchain da un template e indichi come destinazione una regione in cui non è presente il repository privato, l'impostazione dell'integrazione Git non riesce.

Quando aggiungi un repository Git Repos and Issue Tracking a una toolchain in una specifica regione, il tuo ID IBM viene associato a un nome utente GitLab che ti dà accesso a GitLab in tale regione. Anche se il tuo nome utente GitLib si presenta uguale in tutte le regioni, l'utente GitLab associato è diverso in ciascuna regione perché ognuna ha un'installazione separata di GitLab. L'accesso agli utenti GitLab in altre regioni non viene concesso automaticamente alle toolchain anche quando il nome utente GitLab sembra essere lo stesso.

Rendi pubblico il repository Git Repos and Issue Tracking in modo che sia possibile accedere ad esso da qualsiasi posizione, comprese altre regioni IBM Cloud.

Se il repository deve essere privato, il suo proprietario può concedere l'accesso a esso creando un token di accesso personale sul server GitLab dove si trova il repository di origine. Hai bisogno dell'accesso solo al repository privato per clonare il contenuto durante la creazione della toolchain. Il token di accesso personale può essere creato con una data di scadenza per limitarne la durata a una scadenza dopo un giorno.

Una volta che disponi di un token di accesso personale, puoi creare un URL per accedere al repository da altre regioni. Mentre stai configurando l'integrazione dello strumento, nel campo Source repository URL aggiorna l'URL del repository per utilizzare i tuoi nome utente e token di accesso.

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

Dove user è il nome utente GitLab, XXXXXXX è il token di accesso, group è il gruppo in cui è memorizzato il repo e node-hello-world è il nome del repo.

Se il tuo repository GitLab non si trova all'interno di un gruppo GitLab, il valore di group è uguale al tuo nome utente.

Ho configurato un'integrazione dello strumento per la mia toolchain, perché non è stata configurata?

Se si verifica un errore durante il processo di impostazione o se le comunicazioni tra la toolchain e lo strumento non si completano correttamente, la configurazione non riesce.

Dopo che hai aggiunto e configurato un'integrazione dello strumento per la tua toolchain, viene visualizzato un messaggio di errore per indicare che l'impostazione non è riuscita.

Quando aggiungi un'integrazione dello strumento, la toolchain comunica con lo strumento rappresentato dall'integrazione dello strumento per eseguire il provisioning di tutte le risorse e le associa alla toolchain. Se si verifica un errore nel processo di configurazione o se la comunicazione tra la toolchain e lo strumento non viene completata correttamente, l'integrazione dello strumento viene messa in uno stato di errore.

Puoi provare a configurare nuovamente l'integrazione dello strumento:

  1. Nella relativa scheda, passa con il mouse sul messaggio Setup failed e fai clic su Reconfigure.

    {: caption="di riconfigurazioneRiconfigurazione dell'" caption-side="bottom"} di strumenti

  2. Assicurati di stare utilizzando dei parametri di configurazione validi. Se l'errore è stato causato da una configurazione non valida, viene visualizzato un messaggio di errore, ad esempio The integration could not be set up. Check the settings and try again. Reason: Invalid api_key:fakeKey. Aggiorna le impostazioni per l'integrazione dello strumento e fai clic su Save integration.

  3. Se l'errore è stato causato da un problema di comunicazione, fai clic su Save integration per ritentare.

Perché non posso eliminare le toolchain utilizzando la CLI ibmcloud?

Attualmente, non riesco a eliminare le toolchain utilizzando la CLI delle risorse di ibmcloud.

Ho provato a eliminare una toolchain dalla riga di comando utilizzando il comando ibmcloud resource service-instance-delete e il comando non riesce con il seguente messaggio di errore:

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

Le toolchain sono un tipo speciale di risorsa sulla piattaforma cloud che attualmente non puoi eliminare utilizzando la CLI ibmcloud resource.

Per eliminare una toolchain:

  1. Dalla console IBM Cloud, fare clic sull'icona Menu > Automazione piattaforma > Toolchain. Nella pagina Toolchains, fai clic sulla toolchain da eliminare.
  2. Fai clic sul menu Actions e seleziona Delete. L'eliminazione di una toolchain rimuove tutte le sue integrazioni dello strumento e ciò potrebbe eliminare le risorse gestite da tali integrazioni.
  3. Conferma l'eliminazione digitando il nome della toolchain e facendo clic su Delete.

È possibile utilizzare i comandi IBM Cloud CLI Developer Tools (ibmcloud dev) per eliminare le toolchain. Dopo aver installato la CLI IBM Cloud, è possibile eliminare una toolchain dalla riga di comando usando il comando ibmcloud dev toolchain-delete comando.

Perché non posso visualizzare le mie toolchain nel mio dashboard DevOps?

Quando passi al dashboard DevOps, le tue toolchain non vengono visualizzate.

La tua toolchain non viene visualizzata nella toolchain a meno che non sia stata selezionata la posizione corretta. DevOps Insights è disponibile solo in tre località: Dallas, Francoforte e Londra.

Nella tua pagina della toolchain, modifica l'ubicazione con Dallas, Francoforte o Londra per mostrare tutte le tue toolchain integrate con DevOps Insights.

Perché non posso creare una toolchain quando la chiave root è disabilitata?

Quando tenti di creare una toolchain, viene visualizzata la seguente notifica: 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.

Quando crei una toolchain, devi proteggerla utilizzando una chiave root per la crittografia abilitata.

Utilizzare uno dei seguenti metodi per abilitare la chiave root per la cifratura:

Perché non riesco a visualizzare le istanze del servizio che ho creato nella pagina Toolchain quando la chiave root è disabilitata?

Quando apri la tua toolchain, viene visualizzata la seguente notifica: The root key of the key management service instance that was used to encrypt this toolchain is disabled.

Poiché le informazioni richieste per visualizzare le istanze del servizio della toolchain vengono decodificate quando apri una toolchain, devi assicurarti che la chiave root per la crittografia sia abilitata.

Utilizzare uno dei seguenti metodi per abilitare la chiave root per la cifratura:

Quando utilizzo Terraform o l'API per configurare un'integrazione dello strumento, perché la configurazione non riesce con l'errore Could not find value for secret reference... ?

L'integrazione dello strumento è configurata con un riferimento a un segreto, ma la toolchain non riesce a trovare il segreto o l'archivio segreto a cui si fa riferimento.

Quando utilizzi Terraform o l'API per creare o aggiornare un'integrazione dello strumento, la configurazione ha esito negativo con il messaggio di errore Could not find value for secret reference....

Molte integrazioni di strumenti includono proprietà di configurazione classificate come segreti. Quando imposti queste proprietà in una risorsa Terraform o in una chiamata API, puoi impostarle come riferimenti segreti. Un riferimento segreto è una stringa formattata in modo speciale che identifica il nome e l'ubicazione di un segreto in un archivio segreto integrato nella toolchain. Questo errore indica che la toolchain non è in grado di trovare il segreto identificato o che l'archivio dei segreti non è integrato nella toolchain. L'errore può verificarsi per i riferimenti segreti in base al nome se uno o più segmenti nella stringa di riferimento dei segreti {vault:...} non sono corretti o se una chiave del gruppo, nome o campo specificato non esiste nell'archivio dei segreti. L'errore può verificarsi per i riferimenti segreti da parte di CRN se il CRN segreto fa riferimento a un segreto che è stato eliminato.

Il messaggio di errore include la stringa di riferimento segreto che non può essere risolta.

Completare le seguenti attività per i riferimenti segreti per nome:

  • Controlla che l'archivio dei segreti sia integrato come uno strumento nella toolchain e che l'integrazione dello strumento sia correttamente configurata per identificare il nome dell'istanza del servizio. Se l'integrazione dello strumento non è configurata correttamente, modificare l'integrazione dello strumento per correggere la condizione di errore, quindi salvare la configurazione.
  • Verificare che il primo segmento del riferimento segreto {vault::...} corrisponda al nome dell'integrazione dello strumento dell'archivio segreto. Ad esempio, il riferimento segreto {vault::my-secret-store.my-secret} prevede che la toolchain abbia un'integrazione dello strumento di archiviazione dei segreti denominata my-secret-store. Questo valore è il nome dell'integrazione dello strumento, non il nome dell'istanza del servizio archivio segreto.
  • Se il segreto è memorizzato in Key Protect, controlla che il secondo segmento del riferimento segreto {vault::...} corrisponda al nome della chiave che vuoi utilizzare nell'istanza del servizio Key Protect. Ad esempio, il riferimento segreto {vault::my-kms.my-key} prevede di trovare una chiave denominata my-key nell'istanza del servizio Key Protect. Questa istanza del servizio è integrata nella toolchain con un'integrazione dello strumento Key Protect denominata my-kms.
  • Se il segreto è memorizzato in Secrets Manager, controlla che il secondo e terzo segmento del riferimento segreto {vault::...} corrispondano ai nomi del gruppo di segreti e del segreto che vuoi utilizzare nell'istanza del servizio Secrets Manager. Ad esempio, il riferimento segreto {vault::my-sm.my-group.my-key} prevede di trovare un segreto denominato my-key in un gruppo di segreti denominato my-group. Questo gruppo segreto e segreto sono archiviati all'interno dell'istanza del servizio Secrets Manager integrata nella toolchain utilizzando un'integrazione dello strumento Secrets Manager denominata my-sm.
  • Se il segreto è memorizzato in HashiCorp Vault, verificare che il secondo e il terzo segmento del riferimento al segreto di {vault::...} corrispondano ai nomi del segreto e del campo segreto nel server HashiCorp Vault. Ad esempio, il riferimento al segreto {vault::my-hcv.my-secret.my-field} si aspetta di trovare un segreto denominato my-secret nel server HashiCorp Vault e un campo denominato my-field all'interno di tale segreto. Questo server è integrato nella toolchain utilizzando un'integrazione dello strumento HashiCorp Vault che si chiama my-hcv.

Completare le seguenti attività per i riferimenti segreti per CRN:

  • Verifica che l'archivio dei segreti sia integrato come strumento nella toolchain e che l'integrazione dello strumento sia correttamente configurata per l'identificazione da parte del CRN dell'istanza del servizio. Se l'integrazione dello strumento non è configurata correttamente, modificare l'integrazione dello strumento per correggere la condizione di errore, quindi salvare la configurazione.
  • Verifica che il CRN dell'istanza del servizio Secrets Manager configurato nell'integrazione dello strumento faccia riferimento alla stessa istanza del CRN del segreto non riuscito.

Quando utilizzo Terraform o l'API per configurare un'integrazione dello strumento, perché la configurazione non riesce con l'errore A problem was encountered while attempting to resolve secret reference... ?

L'integrazione dello strumento è configurata con un riferimento a un segreto, ma la toolchain non è autorizzata a richiamare il segreto dall'archivio segreto in cui risiede il segreto.

Quando utilizzi Terraform o l'API per creare o aggiornare un'integrazione dello strumento, la configurazione ha esito negativo con il messaggio di errore A problem was encountered while attempting to resolve secret reference....

Molte integrazioni di strumenti includono proprietà di configurazione classificate come segreti. Quando imposti queste proprietà in una risorsa Terraform o in una chiamata API, puoi impostarle come riferimenti segreti. Un riferimento segreto è una stringa formattata in modo speciale che identifica il nome e l'ubicazione di un segreto in un archivio segreto integrato nella toolchain. Con servizi di IBM Cloud archiviazione segreta come Key Protect e Secrets Manager, l'errore indica che la toolchain può contattare il servizio di archiviazione segreta, ma non è autorizzata a recuperare i segreti dal servizio. In genere, questo problema si verifica perché IBM CloudIdentity and Access Management (IAM) non dispone di una politica di autorizzazione da servizio a servizio che consenta alla toolchain di leggere i segreti dal servizio.

Il messaggio di errore include la stringa di riferimento segreto che non può essere risolta.

Completare le seguenti attività per i riferimenti segreti per nome:

  • Esaminare il primo segmento del riferimento segreto {vault::...}. Questo segmento è il nome dell'integrazione dello strumento archivio segreto nella toolchain. Ad esempio, il riferimento segreto {vault::my-kms.my-key} identifica un'integrazione dello strumento di archiviazione dei segreti denominata my-kms.
  • Esaminare la configurazione di integrazione dello strumento di archiviazione dei segreti per assicurarsi che il parametro name corrisponda al nome dell'integrazione dello strumento di archiviazione dei segreti. Inoltre, assicurati che l'integrazione dello strumento sia configurata correttamente per identificare in base al nome dell'istanza del servizio e che sia selezionata l'istanza del servizio Key Protect o Secrets Manager corretta.
  • Utilizzando IAM, aggiungi una politica di autorizzazione service - to - service dalla toolchain all'istanza del servizio Key Protect o Secrets Manager. Nella politica di autorizzazione, la toolchain è il servizio source e l'archivio dei segreti è il servizio target. Quando hai come destinazione Key Protect, assicurati che la politica conceda i ruoli Viewer e ReaderPlus. Quando destinazioni Secrets Manager, assicurati che la politica conceda i ruoli Viewer e SecretsReader.

Completare le seguenti attività per i riferimenti segreti per CRN:

  • Esaminare la configurazione di integrazione dello strumento di archiviazione dei segreti per accertarsi che sia configurata correttamente per l'identificazione da parte del CRN dell'istanza del servizio. Inoltre, assicurati che il CRN per l'istanza del servizio Secrets Manager sia corretto.
  • Utilizza IAM per aggiungere una politica di autorizzazione service - to - service dalla toolchain all'istanza del servizio Secrets Manager. Nella politica di autorizzazione, la toolchain è il servizio source e l'istanza Secrets Manager è il servizio di destinazione. Assicurarsi che la politica conceda i ruoli Viewer e SecretsReader.

Per ulteriori informazioni sulle politiche di autorizzazione service - to - service, vedi Utilizzo delle autorizzazioni per concedere l'accesso tra i servizi.

Per un esempio di come configurare una politica di autorizzazione service - to - service da una toolchain a un'istanza del servizio di archivio segreto con Terraform, vedi Specifica dei riferimenti segreti con Terraform.

Quando uso Terraform o l'API per configurare un'integrazione dello strumento Key Protect, Secrets Managero App Configuration, perché la configurazione non riesce?

L'integrazione dello strumento fa riferimento a un'istanza del servizio Key Protect, Secrets Managero App Configuration che non esiste.

Quando si utilizza Terraform o l'API per creare o aggiornare un'integrazione Key Protect con gli strumenti App Configuration, Secrets Manager, o, la configurazione non riesce e viene visualizzato il messaggio There was a problem with the provided service parameters, please check that they are valid di errore.

L'integrazione dello strumento è configurata con il nome o l'ID di un'istanza di App Configuration servizio Key Protect, Secrets Manager, o che non è possibile trovare o a cui non è possibile accedere. Se stai utilizzando Terraform per gestire sia l'istanza del servizio che l'integrazione dello strumento, Terraform potrebbe tentare di creare o aggiornare l'integrazione dello strumento prima di creare l'istanza del servizio.

Se utilizzi Terraform, controlla la configurazione di Terraform per assicurarti che la risorsa di ibm_cd_toolchain_tool_keyprotectintegrazione dello ibm_cd_toolchain_tool_appconfig strumento, ibm_cd_toolchain_tool_secretsmanager, o dipenda dalla risorsa Key ProtectApp Configurationibm_resource_instance, Secrets Manager, o rappresentata dall'integrazione dello strumento. È possibile specificare questa dipendenza all'interno della risorsa di integrazione dello strumento facendo riferimento agli attributi della risorsa dell'istanza del servizio o specificando un meta - argomento depends_on che fa riferimento alla risorsa dell'istanza del servizio. Puoi fare riferimento direttamente alla risorsa dell'istanza del servizio o indirettamente tramite altre risorse intermedie. Dichiarando correttamente le dipendenze tra le risorse, puoi forzare Terraform a creare, aggiornare ed eliminare le risorse nella sequenza corretta.

Per un esempio di come funzionano le dipendenze tra le risorse Terraform, vedi Specifica dei riferimenti segreti con Terraform.

Se stai usando l'API, controlla i parametri di configurazione di Key Protect, Secrets Managero l'integrazione dello strumento App Configuration che stai tentando di creare o aggiornare. Verificare che il nome o l'ID dell'istanza del servizio che si sta tentando di integrare sia specificato correttamente all'interno della configurazione dell'integrazione dello strumento.