Resolução de problemas para cadeias de ferramentas

Os problemas gerais com o uso de cadeias de ferramentas podem incluir problemas de configuração de integração de ferramentas ou de modelos de cadeias de ferramentas. Em muitos casos, é possível recuperar-se desses problemas seguindo algumas etapas simples.

Por que não é possível criar uma cadeia de ferramentas por meio de um modelo que usa um repositório privado em uma região diferente?

O modelo de cadeia de ferramentas que você está usando faz referência a um repositório privado do Git Repos and Issue Tracking.

O Git Repos and Issue Tracking é específico da região. Quando você tenta criar uma cadeia de ferramentas usando um modelo e coloca como destino uma região na qual o repositório privado não está localizado, a configuração de integração do Git falha.

Quando você inclui um repositório do Git Repos and Issue Tracking em uma cadeia de ferramentas em uma região específica, seu IBMid é mapeado para um nome de usuário do GitLab que fornece acesso ao GitLab nessa região. Mesmo que seu nome de usuário do GitLab pareça igual em todas as regiões, o usuário do GitLab associado é diferente em cada região, porque cada região tem uma instalação separada do GitLab. O acesso aos usuários do GitLab em outras regiões não é concedido automaticamente às cadeias de ferramentas, mesmo quando o nome do usuário do GitLab parece ser o mesmo.

Torne repositório do Git Repos and Issue Tracking público para que ele possa ser acessado de qualquer lugar, incluindo outras regiões do IBM Cloud.

Caso o repositório tenha que ser privado, seu proprietário poderá conceder acesso a ele, criando um token de acesso pessoal no servidor GitLab no qual o repositório de origem está localizado. É necessário ter acesso apenas ao repositório privado para clonar o conteúdo durante a criação da cadeia de ferramentas. O token de acesso pessoal pode ser criado com uma data de validade para limitar seu tempo de vida para expirar após um dia.

Depois de ter um token de acesso pessoal, será possível criar uma URL para acessar o repositório de outras regiões. Enquanto você estiver configurando a integração de ferramenta, no campo URL do repositório de origem, atualize a URL do repositório para usar seu nome de usuário e token de acesso.

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

Em que user é o seu nome de usuário GitLab, XXXXXXX é o token de acesso, group é o grupo em que o repositório está armazenado e node-hello-world é o nome do repositório.

Se o seu repositório do GitLab não estiver localizado em um grupo do GitLab, o valor de group será o mesmo que seu nome do usuário.

Eu configurei uma integração de ferramenta para minha cadeia de ferramentas, por que ela não estava configurada?

Se ocorrer um erro durante o processo de configuração ou se a comunicação entre a cadeia de ferramentas e a ferramenta não for concluída corretamente, a configuração falhará.

Depois de incluir e configurar uma integração de ferramenta para sua cadeia de ferramentas, uma mensagem de erro será exibida para indicar que a configuração falhou.

Quando você inclui uma integração de ferramenta, a cadeia de ferramentas se comunica com a ferramenta que é representada pela integração de ferramenta para provisionar quaisquer recursos necessários e associá-los à cadeia de ferramentas. Se ocorrer um erro durante o processo de configuração ou se a comunicação entre a cadeia de ferramentas e a ferramenta não for concluída corretamente, a integração de ferramenta será colocada em um estado de erro.

É possível tentar configurar a integração de ferramenta novamente:

  1. Em seu cartão de ferramenta, passe o mouse sobre a mensagem Setup failed e clique em Reconfigurar.

    {: caption="ReconfigurarReconfigurar a " caption-side="bottom"} da ferramenta

  2. Certifique-se de que esteja usando parâmetros de configuração válidos. Caso o erro tenha sido causado por uma configuração inválida, será exibida uma mensagem de erro; por exemplo, The integration could not be set up. Check the settings and try again. Reason: Invalid api_key:fakeKey. Atualize as configurações da integração de ferramenta e clique em Salvar integração.

  3. Se o erro tiver sido causado por um problema de comunicação, clique em Salvar integração para tentar novamente.

Por que não é possível excluir as cadeias de ferramentas usando a CLI ibmcloud?

Atualmente, não é possível excluir as cadeias de ferramentas usando a CLI ibmcloud resource.

Tentei excluir uma cadeia de ferramentas por meio da linha de comandos usando o comando ibmcloud resource service-instance-delete e o comando falhou com a mensagem de erro a seguir:

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

As cadeias de ferramentas são um tipo especial de recurso na plataforma de nuvem que não pode ser excluído no momento usando a CLI ibmcloud resource.

Para excluir uma cadeia de ferramentas:

  1. No IBM Cloud console, clique no ícone Menu ícone hambúrguer > Automação da plataforma > Cadeias de ferramentas. Na página Cadeias de ferramentas, clique na cadeia de ferramentas para excluir.
  2. Clique no menu Ações e selecione Excluir. Excluir uma cadeia de ferramentas remove todas as suas integrações de ferramenta, que pode excluir recursos que são gerenciados por essas integrações.
  3. Confirme a exclusão digitando o nome da cadeia de ferramentas e clicando em Excluir.

É possível usar os comandos do IBM Cloud CLI Developer Tools (ibmcloud dev) para excluir as cadeias de ferramentas. Depois de instalar a CLI do IBM Cloud, é possível excluir uma cadeia de ferramentas por meio da linha de comandos usando o comando ibmcloud dev toolchain-delete.

Por que não consigo visualizar minhas cadeias de ferramentas em meu painel DevOps?

Ao acessar o painel do DevOps, suas cadeias de ferramentas não são exibidas.

Sua cadeia de ferramentas não será exibida na cadeia de ferramentas a menos que o local correto seja selecionado. O DevOps Insights está disponível apenas em três locais: Dallas, Frankfurt e Londres.

Em sua página da cadeia de ferramentas, mude a localização para Dallas, Frankfurt ou Londres para mostrar todas as suas cadeias de ferramentas integradas do DevOps Insights.

Por que eu não posso criar uma cadeia de ferramentas quando a chave raiz é desativada?

Quando você tenta criar uma cadeia de ferramentas, a seguinte notificação é exibida: 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 você cria uma cadeia de ferramentas, você deve protegê-la usando uma chave raiz para criptografia ativada.

Use um dos métodos a seguir para ativar a chave raiz para criptografia:

Por que não consigo visualizar as instâncias de serviço que criei na página de Cadeias de Ferramentas quando a chave raiz está desativada?

Quando você abre sua cadeia de ferramentas, a seguinte notificação é exibida: The root key of the key management service instance that was used to encrypt this toolchain is disabled.

Como as informações necessárias para visualizar as instâncias de serviço da cadeia de ferramentas são decriptografadas quando você abre uma cadeia de ferramentas, deve-se garantir que a chave raiz para a criptografia esteja ativada.

Use um dos métodos a seguir para ativar a chave raiz para criptografia:

Quando eu uso Terraform ou a API para configurar uma integração de ferramentas, por que a configuração falha com o erro Could not find value for secret reference... ?

A integração da ferramenta é configurada com uma referência a um segredo, mas a cadeia de ferramentas não pode encontrar a referida loja secreta ou secreta.

Quando você usa Terraform ou a API para criar ou atualizar uma integração de ferramentas, a configuração falha com a mensagem de erro Could not find value for secret reference....

Muitas integrações de ferramentas incluem propriedades de configuração que são classificadas como segredos. Quando você configura essas propriedades em um recurso Terraform ou API, você pode configurá-las como referências secretas. Uma referência secreta é uma sequência especialmente formatada que identifica o nome e a localização de um segredo em uma loja secreta que é integrada à cadeia de ferramentas. Esse erro indica que a cadeia de ferramentas não pode localizar o segredo identificado, ou que o armazenamento de segredo não está integrado na cadeia de ferramentas O erro pode ocorrer para referências de segredos por nome se um ou mais segmentos na sequência {vault:...} de referências de segredos estiverem incorretos ou se uma chave do grupo, nome ou campo especificado não existir no armazenamento de segredos. O erro pode ocorrer para referências de segredos por CRN se o CRN de segredo referenciar um segredo que foi excluído

A mensagem de erro inclui a sequência de referência secreta que não pode ser resolvida.

Conclua as tarefas a seguir para referências de segredos por nome:

  • Verifique se o armazenamento de segredos está integrado como uma ferramenta na cadeia de ferramentas e se a integração de ferramentas está configurada corretamente para ser identificada pelo nome da instância de serviço Se a integração da ferramenta estiver mal configurada, edite a integração da ferramenta para corrigir a condição de erro e, em seguida, salve a configuração.
  • Verifique se o primeiro segmento da referência secreta {vault::...} corresponde ao nome da integração de ferramentas da loja secreta. Por exemplo, a referência secreta {vault::my-secret-store.my-secret} espera que a cadeia de ferramentas tenha uma integração de ferramenta de loja secreta que é denominada my-secret-store. Esse valor é o nome de integração de ferramentas, não o nome da instância de serviço de loja secreta.
  • Se o segredo estiver armazenado em Key Protect, verifique se o segundo segmento da referência secreta {vault::...} corresponde ao nome da chave que você deseja utilizar na instância de serviço Key Protect. Por exemplo, a referência secreta {vault::my-kms.my-key} espera encontrar uma chave que é nomeada my-key na instância de serviço Key Protect. Esta instância de serviço é integrada à cadeia de ferramentas com uma integração de ferramentas Key Protect que é denominada my-kms.
  • Se o segredo estiver armazenado em Secrets Manager, verifique se o segundo, e terceiros segmentos da referência secreta {vault::...} correspondem aos nomes do grupo secreto e secretos que você deseja usar na instância de serviço Secrets Manager. Por exemplo, a referência secreta {vault::my-sm.my-group.my-key} espera encontrar um segredo que é denominado my-key em um grupo secreto que é denominado my-group. Este grupo secreto e secreto são armazenados dentro da instância de serviço Secrets Manager que é integrada à cadeia de ferramentas usando uma integração de ferramentas Secrets Manager que é denominada my-sm.
  • Se o segredo estiver armazenado em HashiCorp Vault, verifique se o segundo e o terceiro segmentos da referência de segredo de {vault::...} correspondem aos nomes do segredo e do campo de segredo no servidor HashiCorp Vault. Por exemplo, a referência de segredo {vault::my-hcv.my-secret.my-field} espera encontrar um segredo chamado my-secret no servidor HashiCorp Vault e um campo chamado my-field dentro desse segredo. Esse servidor é integrado à cadeia de ferramentas por meio da integração da ferramenta HashiCorp Vault, denominada my-hcv.

Conclua as tarefas a seguir para referências de segredos por CRN:

  • Verifique se o armazenamento de segredo está integrado como uma ferramenta na cadeia de ferramentas e se a integração de ferramenta está configurada corretamente para identificar pelo CRN da instância de serviço Se a integração da ferramenta estiver mal configurada, edite a integração da ferramenta para corrigir a condição de erro e, em seguida, salve a configuração.
  • Verifique se o CRN da instância de serviço Secrets Manager que está configurada na integração de ferramenta faz referência à mesma instância que o CRN do segredo com falha.

Quando eu uso Terraform ou a API para configurar uma integração de ferramentas, por que a configuração falha com o erro A problem was encountered while attempting to resolve secret reference... ?

A integração da ferramenta é configurada com uma referência a um segredo, mas a cadeia de ferramentas não está autorizada a recuperar o segredo da loja secreta onde o segredo reside.

Quando você usa Terraform ou a API para criar ou atualizar uma integração de ferramentas, a configuração falha com a mensagem de erro A problem was encountered while attempting to resolve secret reference....

Muitas integrações de ferramentas incluem propriedades de configuração que são classificadas como segredos. Quando você configura essas propriedades em um recurso Terraform ou API, você pode configurá-las como referências secretas. Uma referência secreta é uma sequência especialmente formatada que identifica o nome e a localização de um segredo em uma loja secreta que é integrada à cadeia de ferramentas. Com serviços de IBM Cloud armazenamento secreto, como Key Protect e Secrets Manager, o erro indica que a cadeia de ferramentas pode entrar em contato com o serviço de armazenamento secreto, mas não está autorizada a recuperar segredos do serviço. Normalmente, esse problema ocorre porque o IBM CloudIdentity and Access Management (IAM) não possui uma política de autorização de serviço para serviço que permita que o conjunto de ferramentas leia segredos do serviço.

A mensagem de erro inclui a sequência de referência secreta que não pode ser resolvida.

Conclua as tarefas a seguir para referências de segredos por nome:

  • Examine o primeiro segmento da referência secreta {vault::...}. Este segmento é o nome da integração de ferramentas da loja secreta na cadeia de ferramentas. Por exemplo, a referência de segredo do {vault::my-kms.my-key} identifica uma integração de ferramenta de armazenamento de segredo denominada my-kms.
  • Examine a configuração de integração da ferramenta de armazenamento de segredo para assegurar que o parâmetro name corresponda ao nome da integração da ferramenta de armazenamento de segredo. Além disso, certifique-se de que a integração de ferramenta esteja configurada corretamente para identificar pelo nome da instância de serviço e que a instância de serviço Key Protect ou Secrets Manager correta esteja selecionada.
  • Ao utilizar o IAM, inclua uma política de autorização de serviço a serviço da cadeia de ferramentas para a instância de serviço Key Protect ou Secrets Manager. Na política de autorização, a cadeia de ferramentas é o serviço fonte, e a loja secreta é o serviço target. Ao destinar Key Protect, certitenha-se de que a política concede os papéis Viewer e ReaderPlus. Ao destinar Secrets Manager, certitenha-se de que a política concede os papéis Viewer e SecretsReader.

Conclua as tarefas a seguir para referências de segredos por CRN:

  • Examine a configuração de integração da ferramenta de armazenamento de segredos para certificar-se de que ela esteja configurada corretamente para identificar pelo CRN da instância de serviço Além disso, certifique-se de que o CRN para a instância de serviço Secrets Manager esteja correto.
  • Use o IAM para incluir uma política de autorização de serviço para serviço da cadeia de ferramentas para a instância de serviço do Secrets Manager. Na política de autorização, a cadeia de ferramentas é o serviço de origem e a instância do Secrets Manager é o serviço de destino. Certifique-se de que a política conceda as funções Viewer e SecretsReader

Para obter mais informações sobre políticas de autorização de serviço a serviço, consulte Usando autorizações para conceder acesso entre serviços.

Para um exemplo de como configurar uma política de autorização de serviço a serviço de uma cadeia de ferramentas para uma instância de serviço de loja secreta com Terraform, consulte Especificando referências secretas com Terraform.

Quando eu uso Terraform ou a API para configurar um Key Protect, Secrets Managerou App Configuration integração de ferramentas, por que a configuração falha?

A integração da ferramenta se refere a um Key Protect, Secrets Manager, ou App Configuration instância de serviço que não existe.

Quando você usa o Terraform ou a API para criar ou atualizar uma integração de Key Protect App Configuration ferramenta, Secrets Manager, ou, a configuração falha com a mensagem There was a problem with the provided service parameters, please check that they are valid de erro.

A integração da ferramenta está configurada com o nome ou ID de uma instância de Key Protect App Configuration serviço, Secrets Manager, ou que não pode ser encontrada ou acessada. Se você estiver usando Terraform para gerenciar tanto a instância de serviço quanto a integração da ferramenta, Terraform pode tentar criar, ou atualizar a integração da ferramenta antes de criar a instância de serviço.

Se você estiver usando o Terraform, verifique sua configuração do Terraform para garantir que o recurso de integração ibm_cd_toolchain_tool_keyprotect da ibm_cd_toolchain_tool_appconfig ferramenta, ibm_cd_toolchain_tool_secretsmanager, ou depende do recurso Key Protect, Secrets ManagerApp Configurationibm_resource_instance, ou que a integração da ferramenta representa. Você pode especificar esta dependência dentro do recurso de integração da ferramenta, referindo-se a atributos do recurso de instância de serviço ou especificando uma meta-argumento depends_on que se refere ao recurso de instância de serviço. É possível consultar diretamente o recurso de instância de serviço, ou indiretamente através de outros recursos intermediários. Ao declarar dependências entre os recursos corretamente, é possível coagir o Terraform na criação, atualização e exclusão de recursos na sequência correta.

Para um exemplo de como as dependências funcionam entre os recursos Terraform, consulte Especificando referências secretas com Terraform.

Se você estiver usando a API, verifique os parâmetros de configuração do Key Protect, Secrets Manager, ou App Configuration integração de ferramenta que você está tentando criar ou atualizar. Verifique se o nome ou ID da instância de serviço que você está tentando integrar está corretamente especificado dentro da configuração da integração da ferramenta.