La build ha esito negativo quando la build non è stata registrata correttamente e non esiste un segreto
Dopo aver creato ed eseguito una build, la build non viene completata correttamente e si riceve un messaggio che indica che la build non è registrata correttamente e che un segreto non esiste.
Se si riceve un messaggio che indica che la build non è registrata correttamente e che non esiste un segreto, la build BUILD_NAME non è stata definita correttamente.
Messaggio di errore di esempio
The Build is not registered correctly, build: <BUILD_NAME>, registered status: False, reason: SpecSourceSecretNotFound|SpecOutputSecretRefNotFound|MultipleSecretRefNotFound
Il build BUILD_NAME fa riferimento a un segreto che non esiste. Se il motivo è SpecOutputSecretRefNotFound, non esiste un segreto di registro. Se è SpecSourceSecretNotFound, manca un segreto per accedere
al repository Git . Il motivo è MultipleSecretRefNotFound se entrambi i segreti non esistono. Correggere la build per fare riferimento ai segreti esistenti.
Prova una di queste soluzioni.
Se stai eseguendo la tua build nella console o nella CLI, utilizza la CLI per la risoluzione dei problemi con la tua build.
- Eseguire il comando di
ibmcloud ce buildrun get --name BUILDRUN_NAMEper visualizzare i dettagli dell'esecuzione della build. - Esaminare
Reasonnell'output del comando.
Effettuare le seguenti operazioni per risolvere il problema con la build.
-
Controlla i tuoi segreti. In una build, i segreti vengono utilizzati per i seguenti scopi:
- Per autenticarsi nel registro del contenitore. Un segreto del registro memorizza le credenziali per accedere a un registro del contenitore. Per elencare tutti i segreti nel progetto, inclusi i segreti di registro esistenti, esegui il comando
ibmcloud ce secret list. Per creare un segreto di registro, eseguire il comandoibmcloud ce secret create --format registry. Per ulteriori informazioni sui segreti di registrazione, vedi Aggiunta dell'accesso a un registro del contenitore privato. - Per autenticarsi in un repository di codice sorgente privato. Un segreto SSH memorizza le credenziali per l'autenticazione a un servizio con una chiave SSH, come l'autenticazione a un repository Git , come GitHub o GitLab. Per elencare tutti
i segreti nel progetto, inclusi i segreti SSH esistenti, eseguire il comando
ibmcloud ce secret list. Per creare un segreto SSH, eseguire il comandoibmcloud ce secret create --format ssh. Per ulteriori informazioni sui segreti SSH per accedere ai repository, vedi Accesso ai repository di codice privato.
- Per autenticarsi nel registro del contenitore. Un segreto del registro memorizza le credenziali per accedere a un registro del contenitore. Per elencare tutti i segreti nel progetto, inclusi i segreti di registro esistenti, esegui il comando
-
Una volta definiti i segreti, utilizzare il comando
ibmcloud ce build updateper aggiornare la configurazione di build. Se si fa riferimento a un segreto del registro, specificare il nome del segreto utilizzando l'opzione--registry-secretcon il comandobuild update. Se stai facendo riferimento a un segreto SSH per accedere a un repository privato che contiene il codice sorgente per creare la tua immagine del contenitore, specifica l'opzione--git-repo-secretcon il comandobuild update. Ad esempio,ibmcloud ce build update --name <BUILD_NAME> [--registry-secret <REGISTRY_ACCESS_SECRET>] [--git-repo-secret <GIT_REPO_SECRET>] -
Utilizzare il comando
ibmcloud ce buildrun submitper inoltrare una nuova esecuzione di build. Per il comandobuildrun submit, è necessario specificare l'opzione--buildper fornire il nome della configurazione della build. Facoltativamente, è possibile specificare l'opzione--nameper fornire il nome per questa esecuzione di build. Se si specifica l'opzione--name, assicurarsi di utilizzare un nome di esecuzione build diverso da quello dell'esecuzione build non riuscita oppure assicurarsi di eliminare l'esecuzione build non riuscita utilizzando il comandoibmcloud ce buildrun delete. Ad esempio,ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>