A construção falha quando não foi registrada corretamente e um segredo não existe
Depois de criar e executar uma construção, sua construção não é concluída com sucesso e você recebe uma mensagem de que a construção não foi registrada corretamente e um segredo não existe.
Se você receber uma mensagem de que a construção não está registrada corretamente e um segredo não existe, então a construção BUILD_NAME não foi definida corretamente.
Exemplo de Mensagem de Erro
The Build is not registered correctly, build: <BUILD_NAME>, registered status: False, reason: SpecSourceSecretNotFound|SpecOutputSecretRefNotFound|MultipleSecretRefNotFound
A construção BUILD_NAME referencia um segredo que não existe. Se o motivo for SpecOutputSecretRefNotFound, então um segredo de registro não existirá Se for SpecSourceSecretNotFound, um segredo para acessar
o repositório Git estará ausente. O motivo será MultipleSecretRefNotFound se ambos os segredos não existirem. Corrija a construção para referenciar segredos existentes.
Tente uma dessas soluções.
Se você está executando sua construção no console ou na CLI, use a CLI para solucionar problemas em sua construção.
- Execute o comando
ibmcloud ce buildrun get --name BUILDRUN_NAMEpara exibir os detalhes de sua execução de construção. - Revise a
Reasonna saída de comando.
Execute as etapas a seguir para ajudá-lo a resolver o problema com a sua construção.
-
Verifique seus segredos. Em uma construção, os segredos são usados para os propósitos a seguir:
- Para autenticação no registro de contêiner. Um segredo de registro armazena as credenciais para acessar um registro de contêiner Para listar todos os segredos em seu projeto, incluindo segredos de registro existentes, execute o comando
ibmcloud ce secret list. Para criar um segredo do registro, execute o comandoibmcloud ce secret create --format registry. Para obter mais informações sobre segredos de registro, consulte Incluindo acesso a um registro de contêiner privado. - Para autenticação em um repositório de código-fonte privado. Um segredo SSH armazena credenciais para autenticar em um serviço com uma chave SSH, como autenticar em um repositório Git , como GitHub ou GitLab. Para listar todos os segredos
em seu projeto, incluindo segredos SSH existentes, execute o comando
ibmcloud ce secret list. Para criar um segredo de SSH, execute o comandoibmcloud ce secret create --format sshPara obter mais informações sobre segredos SSH para acessar repositórios, consulte Acessando repositórios de código privado.
- Para autenticação no registro de contêiner. Um segredo de registro armazena as credenciais para acessar um registro de contêiner Para listar todos os segredos em seu projeto, incluindo segredos de registro existentes, execute o comando
-
Após a definição dos segredos, use o comando
ibmcloud ce build updatepara atualizar a configuração de construção. Se você estiver fazendo referência a um segredo de registro, especifique o nome do segredo usando a opção--registry-secretcom o comandobuild updateSe você estiver referenciando um segredo do SSH para acessar um repositório privado que contém o código-fonte para construir sua imagem de contêiner, especifique a opção--git-repo-secretcom o comandobuild updatePor exemplo,ibmcloud ce build update --name <BUILD_NAME> [--registry-secret <REGISTRY_ACCESS_SECRET>] [--git-repo-secret <GIT_REPO_SECRET>] -
Use o comando
ibmcloud ce buildrun submitpara enviar uma nova execução de compilação. Para o comandobuildrun submit, deve-se especificar a opção--buildpara fornecer o nome de sua configuração de construção. Opcionalmente, é possível especificar a opção--namepara fornecer o nome para esta execução de compilação. Se você especificar a opção--name, certifique-se de usar uma execução de compilação diferente da execução de compilação com falha ou assegure-se de excluir a execução de compilação com falha usando o comandoibmcloud ce buildrun delete. Por exemplo,ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>