

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solucionar problemas com fluxos de trabalho
<a name="troubleshooting-workflows"></a>

Consulte as seções a seguir para solucionar problemas relacionados aos fluxos de trabalho na Amazon. CodeCatalyst Para obter mais informações sobre fluxos de trabalho, consulte [Compilação, teste e implantação com fluxos de trabalhoCompilação, teste e implantação com fluxos de trabalho](workflow.md).

**Topics**
+ [Como faço para corrigir as mensagens “O fluxo de trabalho está inativo”?](#troubleshooting-workflows-inactive)
+ [Como faço para corrigir os erros “A definição do fluxo de trabalho tem *n* erros”?](#troubleshooting-workflows-asterisks)
+ [Como faço para corrigir os erros “Não é possível localizar credenciais” e ExpiredToken "”?](#troubleshooting-workflows-auth-errors-eks)
+ [Como faço para corrigir os erros “Não foi possível conectar-se ao servidor”?](#troubleshooting-workflows-unable-connect-eks)
+ [Por que os CodeDeploy campos estão ausentes no editor visual?](#troubleshooting-workflows-codedeploy)
+ [Como faço para corrigir erros de recursos do IAM?](#troubleshooting-workflows-capabilities)
+ [Como faço para corrigir erros de “instalação npm”?](#troubleshooting-workflows-npm)
+ [Por que vários fluxos de trabalho têm o mesmo nome?](#troubleshooting-workflows-name)
+ [Posso armazenar meus arquivos de definição de fluxo de trabalho em outra pasta?](#troubleshooting-workflows-folder)
+ [Como adiciono ações em sequência ao meu fluxo de trabalho?](#troubleshooting-workflows-visual)
+ [Por que meu fluxo de trabalho é validado com sucesso, mas falha em runtime?](#troubleshooting-workflows-validation)
+ [A descoberta automática não descobre nenhum relatório da minha ação](#troubleshooting-reports-auto-discovery)
+ [Minha ação falha em relatórios descobertos automaticamente depois que eu configuro os critérios de sucesso](#troubleshooting-success-auto-discovery)
+ [A descoberta automática gera relatórios que eu não quero](#troubleshooting-unwanted-auto-discovery)
+ [A descoberta automática gera diversos pequenos relatórios para uma única estrutura de teste](#troubleshooting-reports-combined)
+ [Os fluxos de trabalho listados abaixo CI/CD não correspondem aos do repositório de origem](#troubleshooting-workflow-source)
+ [Não consigo criar ou atualizar fluxos de trabalho](#troubleshooting-workflows-branchrules)

## Como faço para corrigir as mensagens “O fluxo de trabalho está inativo”?
<a name="troubleshooting-workflows-inactive"></a>

**Problema**: No CodeCatalyst console, em **CI/CD**, **Fluxos de trabalho**, seu fluxo de trabalho aparece com a seguinte mensagem: 

`Workflow is inactive.`

Essa mensagem indica que o arquivo de definição do fluxo de trabalho contém um gatilho que não se aplica à ramificação em que você está atualmente. Por exemplo, seu arquivo de definição de fluxo de trabalho pode conter um gatilho `PUSH` que faz referência à sua ramificação `main`, mas você está em uma ramificação de recursos. Como as alterações que você está fazendo em sua ramificação de recursos não se aplicam e não iniciarão a `main` execução do fluxo de trabalho`main`, CodeCatalyst desative o fluxo de trabalho na ramificação e o marque como. `Inactive`

**Correções possíveis:**

Se quiser iniciar um fluxo de trabalho na ramificação de recursos, faça o seguinte:
+ Em sua ramificação de recursos, no arquivo de definição do fluxo de trabalho, remova a propriedade `Branches` da seção `Triggers` para que fique assim:

  ```
  Triggers:
    - Type: PUSH
  ```

  Essa configuração faz com que o gatilho seja ativado ao enviar para qualquer ramificação, incluindo sua ramificação de recursos. Se o gatilho estiver ativado, CodeCatalyst iniciará a execução de um fluxo de trabalho usando o arquivo de definição do fluxo de trabalho e os arquivos de origem em qualquer ramificação para a qual você esteja enviando.
+ Em sua ramificação de recursos, no arquivo de definição do fluxo de trabalho, remova a seção `Triggers` e execute o fluxo de trabalho manualmente.
+ Em sua ramificação de recursos, no arquivo de definição do fluxo de trabalho, altere a seção `PUSH` para que ela faça referência à sua ramificação de recursos em vez de outra ramificação (como `main`, por exemplo).

**Importante**  
Tome cuidado para não confirmar essas alterações se você não pretende mesclá-las de volta à sua ramificação `main`.

Para ter mais informações sobre como editar o arquivo de definição de fluxo de trabalho, consulte [Criação de um fluxo de trabalho](workflows-create-workflow.md).

Para ter mais informações sobre gatilhos, consulte [Início da execução automática de um fluxo de trabalho usando gatilhos](workflows-add-trigger.md).

## Como faço para corrigir os erros “A definição do fluxo de trabalho tem *n* erros”?
<a name="troubleshooting-workflows-asterisks"></a>

**Problema:** você vê uma das seguintes mensagens de erro:

**Erro 1**:

Na página **CI/CD**, **Fluxos de trabalho**, abaixo do nome do seu fluxo de trabalho, é possível visualizar:

`Workflow definition has n errors`

**Erro 2:**

Ao editar um fluxo de trabalho, você escolhe o botão **Validar** e a seguinte mensagem aparece na parte superior do CodeCatalyst console:

`The workflow definition has errors. Fix the errors and choose Validate to verify your changes.`

**Erro 3:**

Depois de navegar até a página de detalhes do seu fluxo de trabalho, o seguinte erro será exibido no campo **Definição do fluxo de trabalho**:

`n errors`

**Correções possíveis:** 
+ Selecione **CI/CD**, **Fluxos de trabalho** e o nome do fluxo de trabalho que tem o erro. No campo **Definição do fluxo de trabalho** próximo à parte superior, selecione o link para o erro. Os detalhes sobre o erro são exibidos na parte inferior da página. Siga as dicas de solução de problemas no erro para corrigir o problema.
+ Verifique se o arquivo de definição do fluxo de trabalho é um arquivo YAML.
+ Verifique se as propriedades YAML no arquivo de definição do fluxo de trabalho estão aninhadas no nível correto. Para ver como as propriedades devem ser aninhadas no arquivo de definição do fluxo de trabalho, consulte [Definição do YAML do fluxo de trabalho](workflow-reference.md) ou a documentação da sua ação, vinculada de [Adição de uma ação a um fluxo de trabalho](workflows-add-action.md). 
+ Verifique se os asteriscos (`*`) e outros caracteres especiais escaparam corretamente. Para escapar deles, adicione aspas simples ou duplas. Por exemplo:

  ```
  Outputs:      
    Artifacts:
      - Name: myartifact
        Files:
          - "**/*"
  ```

  Para ter mais informações sobre caracteres especiais no arquivo de definição de fluxo de trabalho, consulte [Diretrizes e convenções de sintaxe](workflow-reference.md#workflow.terms.syntax.conv).
+ Verifique se as propriedades YAML no arquivo de definição do fluxo de trabalho fazem uso correto de letras maiúsculas e minúsculas. Para ter mais informações sobre regras de uso de maiúsculas e minúsculas, consulte [Diretrizes e convenções de sintaxe](workflow-reference.md#workflow.terms.syntax.conv). Para determinar o uso de maiúsculas e minúsculas correto de cada propriedade, consulte [Definição do YAML do fluxo de trabalho](workflow-reference.md) ou a documentação da sua ação, vinculada de [Adição de uma ação a um fluxo de trabalho](workflows-add-action.md).
+ Verifique se a propriedade `SchemaVersion` está presente e definida para a versão correta no arquivo de definição do fluxo de trabalho. Para obter mais informações, consulte [SchemaVersion](workflow-reference.md#workflow.schemaversion).
+ Certifique-se de que a seção `Triggers` no arquivo de definição do fluxo de trabalho inclua todas as propriedades necessárias. Para determinar as propriedades necessárias, selecione o gatilho no [editor visual](workflow.md#workflow.editors) e procure os campos com informações ausentes ou consulte a documentação de referência do gatilho em [Triggers](workflow-reference.md#triggers-reference).
+ Certifique-se de que a propriedade `DependsOn` no arquivo de definição do fluxo de trabalho esteja configurada corretamente e não introduza dependências circulares. Para obter mais informações, consulte [Sequenciar ações](workflows-depends-on.md).
+ Certifique-se de que a seção `Actions` no arquivo de definição do fluxo de trabalho inclua pelo menos uma ação. Para obter mais informações, consulte [Ações](workflow-reference.md#actions-reference). 
+ Assegure-se de que cada ação inclua todas as propriedades necessárias. Para determinar as propriedades necessárias, selecione a ação no [editor visual](workflow.md#workflow.editors) e procure por campos com informações ausentes ou consulte a documentação da sua ação, vinculada de [Adição de uma ação a um fluxo de trabalho](workflows-add-action.md).
+ Assegure-se de que todos os artefatos de entrada tenham artefatos de saída correspondentes. Para obter mais informações, consulte [Definir um artefato de saída](workflows-working-artifacts-output.md).
+ Assegure-se de que as variáveis definidas em uma ação sejam exportadas para que possam ser usadas em outras ações. Para obter mais informações, consulte [Exportação de uma variável para que outras ações possam usá-la](workflows-working-with-variables-export-input.md).

## Como faço para corrigir os erros “Não é possível localizar credenciais” e ExpiredToken "”?
<a name="troubleshooting-workflows-auth-errors-eks"></a>

**Problema**: durante o trabalho em [Tutorial: Implantar uma aplicação no Amazon EKS](deploy-tut-eks.md), você vê uma ou as duas mensagens de erro a seguir na janela do terminal da sua máquina de desenvolvimento:

`Unable to locate credentials. You can configure credentials by running "aws configure".`

`ExpiredToken: The security token included in the request is expired` 

**Correções possíveis:**

Esses erros indicam que as credenciais que você está usando para acessar AWS os serviços expiraram. Nesse caso, não execute o comando `aws configure`. Em vez disso, use as instruções a seguir para atualizar sua chave de AWS acesso e token de sessão.

**Para atualizar sua chave de AWS acesso e token de sessão**

1. Verifique se você tem o URL do portal de AWS acesso, o nome de usuário e a senha do usuário que você está usando no tutorial completo do Amazon EKS (`codecatalyst-eks-user`). Você deve ter configurado esses itens ao concluir [Etapa 1: configurar sua máquina de desenvolvimento](deploy-tut-eks.md#deploy-tut-eks-dev-env-create) do tutorial.
**nota**  
Se você não tiver essas informações, acesse a página de detalhes do `codecatalyst-eks-user` no IAM Identity Center, selecione **Redefinir senha**, **Gerar uma senha de uso único [...]** e **Redefinir senha** novamente para exibir as informações na tela.

1. Execute um destes procedimentos:
   + Cole o URL do portal de AWS acesso na barra de endereço do seu navegador.

     Ou
   + Atualize a página do portal de AWS acesso se ela já estiver carregada.

1. Faça login com o nome de usuário e senha de `codecatalyst-eks-user`, caso ainda não tenha feito.

1. Selecione **Conta da AWS** e, depois, escolha o nome da Conta da AWS a que você atribuiu o usuário `codecatalyst-eks-user` e o conjunto de permissões.

1. Ao lado do nome do conjunto de permissões (`codecatalyst-eks-permission-set`), selecione **Linha de comando ou acesso programático**.

1. Copie os comandos no meio da página. Eles são semelhantes a:

   ```
   export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" 
   export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" 
   export AWS_SESSION_TOKEN="session-token"
   ```

   ... onde *session-token* está uma longa sequência aleatória.

1. Cole os comandos no prompt do terminal em sua máquina de desenvolvimento e pressione Enter.

   As novas chaves e o token da sessão são carregados.

   Você atualizou suas credenciais. Os `kubectl` comandos AWS CLI`eksctl`, e agora devem funcionar. 

## Como faço para corrigir os erros “Não foi possível conectar-se ao servidor”?
<a name="troubleshooting-workflows-unable-connect-eks"></a>

**Problema**: ao trabalhar no tutorial descrito em [Tutorial: Implantar uma aplicação no Amazon EKS](deploy-tut-eks.md), você vê uma mensagem de erro semelhante à seguinte na janela do terminal da sua máquina de desenvolvimento:

`Unable to connect to the server: dial tcp: lookup long-string.gr7.us-west-2.eks.amazonaws.com on 1.2.3.4:5: no such host`

**Correções possíveis:**

Esse erro geralmente indica que as credenciais que o utilitário `kubectl` está usando para se conectar ao seu cluster Amazon EKS expiraram. Para solucionar o problema, atualize as credenciais inserindo o comando a seguir no prompt do terminal:

```
aws eks update-kubeconfig --name codecatalyst-eks-cluster --region us-west-2
```

Em que:
+ *codecatalyst-eks-cluster*é substituído pelo nome do seu cluster Amazon EKS.
+ *us-west-2*é substituído pela AWS região em que seu cluster está implantado.

## Por que os CodeDeploy campos estão ausentes no editor visual?
<a name="troubleshooting-workflows-codedeploy"></a>

**Problema**: você está usando uma ação [Deploy to Amazon ECS](deploy-action-ecs.md) e não está vendo os CodeDeploy campos, como **CodeDeploy AppSpec**no editor visual do fluxo de trabalho. Esse problema pode ocorrer porque o serviço Amazon ECS especificado no campo **Serviço** não está configurado para realizar implantações azuis/verdes.

**Correções possíveis:** 
+ Escolha um serviço do Amazon ECS diferente na guia **Configuração** da ação **Implantar no Amazon ECS**. Para obter mais informações, consulte [Implantação no Amazon ECS com um fluxo de trabalho](deploy-action-ecs.md).
+ Configure o serviço Amazon ECS selecionado para realizar blue/green implantações. Para obter mais informações sobre a configuração de blue/green implantações, consulte Implantação [azul/verde no](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) *Amazon Elastic Container CodeDeploy* Service Developer Guide.

## Como faço para corrigir erros de recursos do IAM?
<a name="troubleshooting-workflows-capabilities"></a>

**Problema**: você está usando uma ação [Deploy CloudFormation stack](deploy-action-cfn.md) e vê `##[error] requires capabilities: [capability-name]` nos registros da ação **Deploy CloudFormation stack**.

**Possíveis correções**: conclua o procedimento a seguir para adicionar o recurso ao arquivo de definição do fluxo de trabalho. Para obter mais informações sobre os recursos do IAM, consulte Como [reconhecer recursos do IAM em CloudFormation modelos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities) no *Guia do usuário do IAM*.

------
#### [ Visual ]

**Como adicionar um recurso do IAM usando o editor visual**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **Visual**.

1. No diagrama do fluxo de trabalho, selecione sua ação **Implantar pilha CloudFormation **.

1. Escolha a guia **Configuração**.

1. Na parte inferior, selecione **Avançado – opcional**.

1. Na lista suspensa **Capacidades**, marque a caixa de seleção ao lado do recurso mencionado na mensagem de erro. Se o recurso não estiver disponível na lista, use o editor YAML para adicioná-lo.

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

1. Se a execução de um novo fluxo de trabalho não for iniciada automaticamente, execute o fluxo de trabalho manualmente para ver se as alterações corrigem o erro. Para ter mais informações sobre como executar manualmente um fluxo de trabalho, consulte [Iniciar um fluxo de trabalho executado manualmente](workflows-manually-start.md).

------
#### [ YAML ]

**Como adicionar um recurso do IAM usando o editor YAML**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **YAML**.

1. Na ação **Deploy CloudFormation stack**, adicione uma `capabilities` propriedade, como esta:

   ```
   DeployCloudFormationStack:
     Configuration:
       capabilities: capability-name
   ```

   *capability-name*Substitua pelo nome do recurso do IAM mostrado na mensagem de erro. Use vírgulas e nenhum espaço para listar vários recursos. Para ter mais informações, consulte a descrição da propriedade `capabilities` em [Ação “Implantar CloudFormation pilha” YAML](deploy-action-ref-cfn.md).

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

1. Se a execução de um novo fluxo de trabalho não for iniciada automaticamente, execute o fluxo de trabalho manualmente para ver se as alterações corrigem o erro. Para ter mais informações sobre como executar manualmente um fluxo de trabalho, consulte [Iniciar um fluxo de trabalho executado manualmente](workflows-manually-start.md).

------

## Como faço para corrigir erros de “instalação npm”?
<a name="troubleshooting-workflows-npm"></a>

**Problema**: sua [ação de implantar AWS CDK](cdk-dep-action.md) ou [ação de bootstrap AWS CDK](cdk-boot-action.md) falha com o erro `npm install`. Esse erro pode ocorrer porque você está armazenando as dependências do seu AWS CDK aplicativo em um registro privado do gerenciador de pacotes de nós (npm) que não pode ser acessado pela ação. 

**Possíveis correções**: use as instruções a seguir para atualizar o `cdk.json` arquivo do seu AWS CDK aplicativo com informações adicionais de registro e autenticação.

**Antes de começar**

1. Crie segredos para suas informações de autenticação. Você referenciará esses segredos no arquivo `cdk.json` em vez de fornecer os equivalentes em texto não criptografado. Para criar os segredos:

   1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

   1. Selecione o projeto.

   1. No painel de navegação, escolha **CI/CD** e **Segredos**.

   1. Crie dois segredos com as seguintes propriedades:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codecatalyst/latest/userguide/troubleshooting-workflows.html)

      Para ter mais informações sobre segredos, consulte [Mascarar dados usando segredos](workflows-secrets.md).

1. Adicione os segredos como variáveis de ambiente à sua AWS CDK ação. A ação substituirá as variáveis por valores reais quando for executada. Para adicionar os segredos:

   1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

   1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

   1. Escolha **Editar**.

   1. Selecione **Visual**.

   1. No diagrama do fluxo de trabalho, escolha sua AWS CDK ação.

   1. Escolha a guia **Entradas**.

   1. Adicione duas variáveis com as seguintes propriedades:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codecatalyst/latest/userguide/troubleshooting-workflows.html)

      Agora você tem duas variáveis contendo referências a segredos.

   O código YAML do arquivo de definição de fluxo de trabalho deve ser semelhante ao seguinte:
**nota**  
O exemplo de código a seguir é de uma ação de **AWS CDK bootstrap**; uma ação de **AWS CDK implantação** será semelhante.

   ```
   Name: CDK_Bootstrap_Action
   SchemaVersion: 1.0
   Actions:
     CDKBootstrapAction:
       Identifier: aws/cdk-bootstrap@v2
       Inputs:
         Variables:
           - Name: NPMUSER
             Value: ${Secrets.npmUsername}
           - Name: NPMTOKEN
             Value: ${Secrets.npmAuthToken}
         Sources:
           - WorkflowSource
       Environment:
         Name: Dev2
         Connections:
           - Name: account-connection
             Role: codecatalystAdmin
       Configuration:
         Parameters:
           Region: "us-east-2"
   ```

   Agora, você está pronto para usar as variáveis `NPMUSER` e `NPMTOKEN` em seu arquivo `cdk.json`. Vá para o próximo procedimento.

**Como atualizar o arquivo cdk.json**

1. Vá para o diretório raiz do seu AWS CDK projeto e abra o `cdk.json` arquivo.

1. Encontre a `"app":` propriedade e altere-a para incluir o código mostrado em*red italics*:
**nota**  
O código de exemplo a seguir é de um TypeScript projeto. Se você estiver usando um JavaScript projeto, o código parecerá semelhante, mas não idêntico.

   ```
   {
     "app": "npm set registry=https://your-registry/folder/CDK-package/ --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:always-auth=true --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:_authToken=\"${NPMUSER}\":\"${NPMTOKEN}\" && npm install  && npx ts-node --prefer-ts-exts bin/hello-cdk.ts|js",
     "watch": {
       "include": [
         "**"
       ],
       "exclude": [
         "README.md",
         "cdk*.json",
         "**/*.d.ts",
         "**/*.js",
         "tsconfig.json",
         "package*.json",
   ...
   ```

1. No código destacado em*red italics*, substitua:
   + *your-registry/folder/CDK-package/*com o caminho para as dependências AWS CDK do seu projeto em seu registro privado.
   + *hello-cdk.ts\$1.js*com o nome do seu arquivo de ponto de entrada. Isso pode ser um arquivo `.ts` (TypeScript) ou `.js` (JavaScript), dependendo do idioma que você está usando.
**nota**  
A ação substituirá *NPMTOKEN* as variáveis *NPMUSER* e pelo nome de usuário npm e pelo token de acesso que você especificou em **Segredos**.

1. Salve o arquivo `cdk.json`.

1. Execute mais uma vez a ação manualmente para ver se as alterações corrigem o erro. Para ter mais informações sobre como executar ações manualmente, consulte [Iniciar um fluxo de trabalho executado manualmente](workflows-manually-start.md).

## Por que vários fluxos de trabalho têm o mesmo nome?
<a name="troubleshooting-workflows-name"></a>



Os fluxos de trabalho são armazenados por ramificação, por repositório. Dois fluxos de trabalho diferentes podem ter o mesmo nome se existirem em ramificações diferentes. Na página Fluxos de trabalho, você pode diferenciar fluxos de trabalho com o mesmo nome observando o nome da ramificação. Para obter mais informações, consulte [Organizando seu trabalho de código-fonte com filiais na Amazon CodeCatalyst](source-branches.md).

![\[Ramificação de fluxo de trabalho\]](http://docs.aws.amazon.com/pt_br/codecatalyst/latest/userguide/images/flows/workflow-branch.png)


## Posso armazenar meus arquivos de definição de fluxo de trabalho em outra pasta?
<a name="troubleshooting-workflows-folder"></a>

Não, você deve armazenar todos os arquivos de definição de fluxo de trabalho na pasta `.codecatalyst/workflows` ou nas subpastas dessa pasta. Se você estiver usando um repositório mono com vários projetos lógicos, coloque todos os seus arquivos de definição de fluxo de trabalho na pasta `.codecatalyst/workflows` ou em uma de suas subpastas e, depois, use o campo **Arquivos alterados** (editor visual) ou a propriedade `FilesChanged` (editor YAML) dentro de um gatilho para acionar o fluxo de trabalho automaticamente em um caminho de projeto especificado. Para obter mais informações, consulte [Adição de gatilhos aos fluxos de trabalho](workflows-add-trigger-add.md) e [Exemplo: um gatilho com um envio, ramificações e arquivos](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-multi).

## Como adiciono ações em sequência ao meu fluxo de trabalho?
<a name="troubleshooting-workflows-visual"></a>

Por padrão, quando você adiciona uma ação ao seu fluxo de trabalho, ela não terá dependências e será executada paralelamente a outras ações.

Se quiser organizar as ações em sequência, defina uma dependência em outra ação configurando o campo `DependsOn`. Você também pode configurar uma ação para consumir artefatos ou variáveis que são saídas de outras ações. Para obter mais informações, consulte [Sequenciar ações](workflows-depends-on.md).

## Por que meu fluxo de trabalho é validado com sucesso, mas falha em runtime?
<a name="troubleshooting-workflows-validation"></a>

Se você validou seu fluxo de trabalho usando o botão `Validate`, mas ele falhou mesmo assim, pode haver uma limitação no validador.

Qualquer erro relacionado a um CodeCatalyst recurso, como segredos, ambientes ou frotas, na configuração do fluxo de trabalho não será registrado durante uma confirmação. Se alguma referência não válida for usada, o erro só será identificado quando um fluxo de trabalho for executado. Da mesma forma, se houver algum erro na configuração da ação, como falta de um campo obrigatório ou erros de digitação nos atributos da ação, eles serão identificados somente quando o fluxo de trabalho for executado. Para obter mais informações, consulte [Criação de um fluxo de trabalho](workflows-create-workflow.md).

## A descoberta automática não descobre nenhum relatório da minha ação
<a name="troubleshooting-reports-auto-discovery"></a>

**Problema:** configurei a descoberta automática para uma ação que executa testes, mas nenhum relatório é descoberto pelo CodeCatalyst.

**Possíveis correções:** isso pode ser causado por vários problemas. Tente uma ou mais das seguintes soluções:
+ Certifique-se de que a ferramenta usada para executar testes produza saídas em um dos formatos que CodeCatalyst compreende. Por exemplo, se você quiser permitir `pytest` CodeCatalyst a descoberta de relatórios de cobertura de teste e código, inclua os seguintes argumentos:

  ```
  --junitxml=test_results.xml --cov-report xml:test_coverage.xml
  ```

  Para obter mais informações, consulte [Tipos de relatório de qualidade](test-workflow-actions.md#test-reporting).
+ Certifique-se de que a extensão do arquivo para as saídas seja consistente com o formato escolhido. Por exemplo, ao configurar `pytest` para produzir resultados no formato `JUnitXML`, verifique se a extensão do arquivo é `.xml`. Para obter mais informações, consulte [Tipos de relatório de qualidade](test-workflow-actions.md#test-reporting).
+ Certifique-se de que `IncludePaths` esteja configurado para incluir todo o sistema de arquivos (`**/*`), a menos que você esteja excluindo determinadas pastas propositalmente. Da mesma forma, certifique-se de que `ExcludePaths` não exclua os diretórios onde você espera que seus relatórios estejam localizados.
+ Se você configurou manualmente um relatório para usar um arquivo de saída específico, ele será excluído da descoberta automática. Para obter mais informações, consulte [Exemplo de relatórios de qualidade YAML](test-config-action.md#test.success-criteria-example).
+ A descoberta automática pode não encontrar relatórios porque a ação falhou antes que qualquer saída fosse gerada. Por exemplo, a compilação pode ter falhado antes da execução de qualquer teste de unidade.

## Minha ação falha em relatórios descobertos automaticamente depois que eu configuro os critérios de sucesso
<a name="troubleshooting-success-auto-discovery"></a>

**Problema:** quando eu habilito a descoberta automática e configuro os critérios de sucesso, alguns dos relatórios não atendem aos critérios de sucesso e, como resultado, a ação falha.

**Possíveis correções:** para resolver isso, tente uma ou mais das seguintes soluções:
+ Modifique `IncludePaths` ou `ExcludePaths` para excluir relatórios nos quais você não está interessado.
+ Atualize os critérios de sucesso para permitir que todos os relatórios sejam aprovados. Por exemplo, se dois relatórios foram descobertos com um com cobertura de linha de 50% e outro de 70%, ajuste a cobertura mínima da linha para 50%. Para obter mais informações, consulte [Critérios de sucesso](test-best-practices.md#test.best-success-criteria).
+ Transforme o relatório de falha em um relatório configurado manualmente. Isso permite que você configure diferentes critérios de sucesso para esse relatório específico. Para obter mais informações, consulte [Configuração de critérios de sucesso para relatórios](test-config-action.md#test.success-criteria).

## A descoberta automática gera relatórios que eu não quero
<a name="troubleshooting-unwanted-auto-discovery"></a>

**Problema:** quando eu habilito a descoberta automática, ela gera relatórios que eu não quero. Por exemplo, CodeCatalyst gera relatórios de cobertura de código para arquivos incluídos nas dependências do meu aplicativo armazenadas em`node_modules`.

**Possíveis correções:** você pode ajustar a configuração de `ExcludePaths` para excluir arquivos indesejados. Por exemplo, para excluir `node_modules`, adicione `node_modules/**/*`. Para obter mais informações, consulte [Inclusão/exclusão de caminhos](test-best-practices.md#test.best-include-exclude).

## A descoberta automática gera diversos pequenos relatórios para uma única estrutura de teste
<a name="troubleshooting-reports-combined"></a>

**Problema:** quando uso determinadas estruturas de relatórios de cobertura de código e teste, percebi que a descoberta automática gera um grande número de relatórios. Por exemplo, ao usar o [plug-in Maven Surefire](https://maven.apache.org/surefire/maven-surefire-plugin/), a descoberta automática produz um relatório diferente para cada classe de teste. 

**Possíveis correções:** sua estrutura pode ser capaz de agregar saídas em um único arquivo. Por exemplo, se você estiver usando o plug-in Maven Surefire, use `npx junit-merge` para agregar os arquivos manualmente. A expressão completa pode ser semelhante a:

```
mvn test; cd test-package-path/surefire-reports && npx junit-merge -d ./ && rm *Test.xml
```

## Os fluxos de trabalho listados abaixo CI/CD não correspondem aos do repositório de origem
<a name="troubleshooting-workflow-source"></a>

**Problema:** os fluxos de trabalho exibidos na página **CI/CD**, **Fluxos de trabalho** não correspondem aos da pasta `~/.codecatalyst/workflows/` em seu [repositório de origem](source.md). Você poderá ver as seguintes incompatibilidades:
+ Um fluxo de trabalho é exibido na página **Fluxos de trabalho**, mas um arquivo de definição de fluxo de trabalho correspondente não existe no seu repositório de origem.
+ Existe um arquivo de definição de fluxo de trabalho no seu repositório de origem, mas um fluxo de trabalho correspondente não é exibido na página **Fluxos de trabalho**.
+ Existe um fluxo de trabalho no repositório de origem e na página **Fluxos de trabalho**, mas eles são diferentes.

Esse problema pode ocorrer se a página **Fluxos de trabalho** não estiver atualizada ou se uma cota de fluxo de trabalho tiver excedido.

**Correções possíveis:**
+ Espere. Normalmente, você precisa esperar dois ou três segundos após uma confirmação na origem antes de ver a alteração na página **Fluxos de trabalho**.
+ Se você excedeu uma cota de fluxo de trabalho, siga um destes procedimentos:
**nota**  
Para determinar se uma cota de fluxo de trabalho foi excedida, revise [Cotas para fluxos de trabalho em CodeCatalyst](workflows-quotas.md) e compare as cotas documentadas com os fluxos de trabalho em seu repositório de origem ou na página **Fluxos de trabalho**. Não há mensagem de erro que indique que uma cota foi excedida, então você terá que investigar por conta própria.
  + Se você excedeu a cota de **Número máximo de fluxos de trabalho por espaço**, exclua alguns fluxos de trabalho e, depois, realize um teste de confirmação no arquivo de definição do fluxo de trabalho. Um exemplo de confirmação de teste pode ser adicionado em um espaço no arquivo.
  + Se você excedeu a cota de **Tamanho máximo do arquivo de definição de fluxo de trabalho**, altere o arquivo de definição de fluxo de trabalho para reduzir seu tamanho.
  + Se você excedeu a cota de **Número máximo de arquivos de fluxo de trabalho processados ​​em um único evento de origem**, realize várias confirmações de teste. Modifique menos do que o número máximo de fluxos de trabalho em cada confirmação.

## Não consigo criar ou atualizar fluxos de trabalho
<a name="troubleshooting-workflows-branchrules"></a>

**Problema:** quero criar ou atualizar um fluxo de trabalho, mas vejo um erro quando tento confirmar a alteração.

**Possíveis correções:** dependendo do seu perfil no projeto ou no espaço, talvez você não tenha permissões para enviar o código para os repositórios de origem do projeto. Os arquivos YAML para fluxos de trabalho são armazenados em repositórios. Para obter mais informações, consulte [Arquivos de definição de fluxo de trabalho](workflows-concepts.md#workflows-concepts-workflows-def). Os perfis de **Administrador do espaço**, **Administrador do projeto** e **Colaborador** têm permissão para confirmar e enviar o código aos repositórios do projeto.

Se você tiver o perfil de **Colaborador**, mas não consegue criar ou confirmar alterações no fluxo de trabalho YAML em uma ramificação específica, pode haver uma regra de ramificação configurada para essa ramificação que impede que usuários com esse perfil enviem código para essa ramificação específica. Tente criar um fluxo de trabalho ou confirmar suas alterações em uma ramificação diferente. Para obter mais informações, consulte [Gerenciar as ações permitidas para uma ramificação com regras de ramificação](source-branches-branch-rules.md).