La compilación falla cuando esta no se ha registrado correctamente y no existe ningún secreto
Después de crear y ejecutar una compilación, esta no se completa correctamente y recibe un mensaje que indica que la compilación no está registrada correctamente y que no existe ningún secreto.
Si recibe un mensaje que indica que la compilación no está registrada correctamente y que no existe ningún secreto, la compilación BUILD_NAME no se ha definido correctamente.
Mensaje de error de ejemplo
The Build is not registered correctly, build: <BUILD_NAME>, registered status: False, reason: SpecSourceSecretNotFound|SpecOutputSecretRefNotFound|MultipleSecretRefNotFound
La compilación BUILD_NAME hace referencia a un secreto que no existe. Si la razón es SpecOutputSecretRefNotFound, no existe un secreto de registro. Si es SpecSourceSecretNotFound, falta un secreto para acceder
al repositorio Git . La razón es MultipleSecretRefNotFound si ambos secretos no existen. Corrija la compilación para que haga referencia a secretos existentes.
Pruebe una de estas soluciones.
Tanto si ejecuta la compilación en la consola como en la CLI, utilice la CLI para resolver problemas con la compilación.
- Ejecute el comando
ibmcloud ce buildrun get --name BUILDRUN_NAMEpara visualizar los detalles de la ejecución de la compilación. - Revise
Reasonen la salida del mandato.
Siga los pasos siguientes que le ayuden a resolver el problema con la compilación.
-
Compruebe sus secretos. En una compilación, los secretos se utilizan para los siguientes fines:
- Para autenticarse en el registro de contenedores. Un secreto de registro almacena credenciales para acceder a un registro de contenedor. Para listar todos los secretos del proyecto, incluidos los secretos de registro existentes, ejecute
el mandato
ibmcloud ce secret list. Para crear un secreto de registro, ejecute el mandatoibmcloud ce secret create --format registry. Para obtener más información sobre los secretos de registro, consulte Adición de acceso a un registro de contenedor privado. - Para autenticarse en un repositorio de código fuente privado. Un secreto SSH almacena credenciales para autenticarse en un servicio con una clave SSH, como por ejemplo autenticarse en un repositorio Git , como por ejemplo GitHub o GitLab.
Para listar todos los secretos del proyecto, incluidos los secretos SSH existentes, ejecute el mandato
ibmcloud ce secret list. Para crear un secreto SSH, ejecute el mandatoibmcloud ce secret create --format ssh. Para obtener más información sobre los secretos SSH para acceder a los repositorios, consulte Acceso a repositorios de código privado.
- Para autenticarse en el registro de contenedores. Un secreto de registro almacena credenciales para acceder a un registro de contenedor. Para listar todos los secretos del proyecto, incluidos los secretos de registro existentes, ejecute
el mandato
-
Después de definir los secretos, utilice el mandato
ibmcloud ce build updatepara actualizar la configuración de la compilación. Si hace referencia a un secreto de registro, especifique el nombre del secreto utilizando la opción--registry-secretcon el mandatobuild update. Si hace referencia a un secreto SSH para acceder a un repositorio privado que contiene el código fuente para crear la imagen de contenedor, especifique la opción--git-repo-secretcon el mandatobuild update. Por ejemplo:ibmcloud ce build update --name <BUILD_NAME> [--registry-secret <REGISTRY_ACCESS_SECRET>] [--git-repo-secret <GIT_REPO_SECRET>] -
Utilice el mandato
ibmcloud ce buildrun submitpara enviar una nueva ejecución de compilación. Para el mandatobuildrun submit, debe especificar la opción--buildpara proporcionar el nombre de la configuración de compilación. Opcionalmente, puede especificar la opción--namepara proporcionar el nombre de esta ejecución de compilación. Si especifica la opción--name, asegúrese de utilizar un nombre de ejecución de compilación distinto del de la ejecución errónea o asegúrese de suprimir la ejecución de compilación errónea con el mandatoibmcloud ce buildrun delete. Por ejemplo:ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>