Solução de problemas com fluxos de trabalho - Amazon CodeCatalyst

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á.

Solução de problemas com fluxos de trabalho

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 Crie, teste e implante com fluxos de trabalho.

Como faço para corrigir as mensagens “O fluxo de trabalho está inativo”?

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 acionador 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 PUSH gatilho que faz referência à sua main ramificação, 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 trabalhomain, CodeCatalyst desative o fluxo de trabalho na ramificação e o marque como. Inactive

Correções possíveis:

Se você quiser iniciar um fluxo de trabalho em sua ramificação de recursos, você pode fazer o seguinte:

  • Em sua ramificação de recursos, no arquivo de definição do fluxo de trabalho, remova a Branches propriedade da Triggers seção 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 Triggers seção e execute o fluxo de trabalho manualmente.

  • Em sua ramificação de recursos, no arquivo de definição do fluxo de trabalho, altere a PUSH seção para que ela faça referência à sua ramificação de recursos em vez de outra ramificação (comomain, por exemplo).

Importante

Tenha cuidado para não cometer essas alterações se você não pretende mesclá-las de volta à sua main filial.

Para obter mais informações sobre a edição do arquivo de definição do fluxo de trabalho, consulteCriação de um fluxo de trabalho.

Para obter mais informações sobre gatilhos, consulte Iniciando um fluxo de trabalho executado automaticamente usando gatilhos.

Como faço para corrigir “A definição do fluxo de trabalho tem n erros” erros?

Problema: Você vê qualquer uma das seguintes mensagens de erro:

Erro 1:

Na página CI/CD, Fluxos de trabalho, abaixo do nome do seu fluxo de trabalho, você vê:

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, você verá o seguinte erro no campo Definição do fluxo de trabalho:

n errors

Correções possíveis:

  • Escolha CI/CD, escolha Fluxos de trabalho e escolha o nome do fluxo de trabalho que tem o erro. No campo Definição do fluxo de trabalho próximo à parte superior, escolha o link para o erro. Os detalhes sobre o erro aparecem na parte inferior da página. Siga as dicas de solução de problemas do erro para corrigir o problema.

  • Certifique-se de que o arquivo de definição do fluxo de trabalho seja um YAML arquivo.

  • Certifique-se de que as YAML propriedades no arquivo de definição do fluxo de trabalho estejam aninhadas no nível correto. Para ver como as propriedades devem ser aninhadas no arquivo de definição do fluxo de trabalhoYAMLDefinição de fluxo de trabalho, consulte ou consulte a documentação da sua ação, que está vinculada a fromAdicionar uma ação a um fluxo de trabalho.

  • Certifique-se de que os asteriscos (*) e outros caracteres especiais tenham escapado corretamente. Para escapar deles, adicione aspas simples ou duplas. Por exemplo:

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

    Para obter mais informações sobre caracteres especiais no arquivo de definição do fluxo de trabalho, consulteDiretrizes e convenções de sintaxe.

  • Certifique-se de que as YAML propriedades no arquivo de definição do fluxo de trabalho usem a capitalização correta. Para obter mais informações sobre regras de maiúsculas e minúsculas, consulteDiretrizes e convenções de sintaxe. Para determinar o revestimento correto de cada propriedade, consulte ou consulte a YAMLDefinição de fluxo de trabalho documentação de sua ação, que está vinculada ao formulário. Adicionar uma ação a um fluxo de trabalho

  • Verifique se a SchemaVersion propriedade 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.

  • Certifique-se de que a Triggers seção no arquivo de definição do fluxo de trabalho inclua todas as propriedades necessárias. Para determinar as propriedades necessárias, escolha o gatilho no editor visual e procure os campos com informações ausentes ou consulte a documentação de referência do acionador emTriggers.

  • Certifique-se de que a DependsOn propriedade 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 Ações de sequenciamento.

  • Certifique-se de que a Actions seção no arquivo de definição do fluxo de trabalho inclua pelo menos uma ação. Para obter mais informações, consulte Ações.

  • Certifique-se de que cada ação inclua todas as propriedades necessárias. Para determinar as propriedades necessárias, escolha a ação no editor visual e procure campos com informações ausentes ou consulte a documentação da ação, que está vinculada a partir deAdicionar uma ação a um fluxo de trabalho.

  • Certifique-se de que todos os artefatos de entrada tenham artefatos de saída correspondentes. Para obter mais informações, consulte Definindo um artefato de saída.

  • Certifique-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 Exportar uma variável para que outras ações possam usá-la.

Como faço para corrigir os erros “Não é possível localizar credenciais” e ExpiredToken "”?

Problema: Durante o trabalhoTutorial: Implantar um aplicativo na Amazon EKS, 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 aws configure comando. 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 portal de AWS acessoURL, o nome de usuário e a senha do usuário que você está usando no EKS tutorial completo da Amazon (codecatalyst-eks-user). Você deve ter configurado esses itens ao concluir Etapa 1: configurar sua máquina de desenvolvimento o tutorial.

    nota

    Se você não tiver essas informações, vá para a página de codecatalyst-eks-user detalhes no IAM Identity Center, escolha Redefinir senha, Gerar uma senha de uso único [...] e redefina a senha novamente para exibir as informações na tela.

  2. Execute um destes procedimentos:

    • Cole o portal de AWS acesso URL na barra de endereço do seu navegador.

      Ou

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

  3. Faça login com o nome codecatalyst-eks-user de usuário e a senha, se você ainda não estiver conectado.

  4. Escolha e Conta da AWS, em seguida, escolha o nome do Conta da AWS ao qual você atribuiu o codecatalyst-eks-user usuário e o conjunto de permissões.

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

  6. Copie os comandos no meio da página. Eles são parecidos com os seguintes:

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

    ... onde session-token é uma longa sequência aleatória.

  7. 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.

    Agora você atualizou suas credenciais. Os kubectl comandos AWS CLIeksctl, e agora devem funcionar.

Como faço para corrigir os erros “Não é possível conectar-se ao servidor”?

Problema: Ao trabalhar no tutorial descrito emTutorial: Implantar um aplicativo na Amazon EKS, 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 kubectl utilitário está usando para se conectar ao seu EKS cluster da Amazon expiraram. Para resolver o problema, atualize as credenciais digitando o seguinte comando 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 EKS cluster da Amazon.

  • 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?

Problema: você está usando uma ECS ação Deploy to Amazon e não está vendo os CodeDeploy campos, como CodeDeploy AppSpecno editor visual do fluxo de trabalho. Esse problema pode ocorrer porque o ECS serviço da Amazon que você especificou no campo Serviço não está configurado para realizar implantações em azul/verde.

Correções possíveis:

Como faço para corrigir erros IAM de recursos?

Problema: você está usando uma ação Deploy AWS CloudFormation stack e vê ##[error] requires capabilities: [capability-name] nos registros da ação Deploy AWS 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 IAM recursos, consulte Confirmação de IAM recursos em AWS CloudFormation modelos no Guia do IAM usuário.

Visual
Para adicionar um IAM recurso usando o editor visual
  1. Abra o CodeCatalyst console em https://codecatalyst.aws/.

  2. Selecione o projeto.

  3. No painel de navegação, escolha CI/CD e, em seguida, escolha Fluxos de trabalho.

  4. Escolha o nome do seu fluxo de trabalho. Você pode filtrar pelo nome do repositório ou ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou status do fluxo de trabalho.

  5. Selecione a opção Editar.

  6. Escolha Visual.

  7. No diagrama do fluxo de trabalho, escolha sua ação Deploy AWS CloudFormation stack.

  8. Escolha a guia Configuração.

  9. Na parte inferior, escolha Avançado - opcional.

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

  11. (Opcional) Escolha Validar para validar o YAML código do fluxo de trabalho antes de confirmar.

  12. Escolha Confirmar, insira uma mensagem de confirmação e escolha Confirmar novamente.

  13. 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 obter mais informações sobre como executar um fluxo de trabalho manualmente, consulteIniciando um fluxo de trabalho executado manualmente.

YAML
Para adicionar um IAM recurso usando o YAML editor
  1. Abra o CodeCatalyst console em https://codecatalyst.aws/.

  2. Selecione o projeto.

  3. No painel de navegação, escolha CI/CD e, em seguida, escolha Fluxos de trabalho.

  4. Escolha o nome do seu fluxo de trabalho. Você pode filtrar pelo nome do repositório ou ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou status do fluxo de trabalho.

  5. Selecione a opção Editar.

  6. Escolha YAML.

  7. Na ação Deploy AWS CloudFormation stack, adicione uma capabilities propriedade, como esta:

    DeployCloudFormationStack: Configuration: capabilities: capability-name

    Substituir capability-name com o nome do IAM recurso mostrado na mensagem de erro. Use vírgulas e nenhum espaço para listar vários recursos. Para obter mais informações, consulte a descrição da capabilities propriedade noAção “Deploy AWS CloudFormation stack” YAML.

  8. (Opcional) Escolha Validar para validar o YAML código do fluxo de trabalho antes de confirmar.

  9. Escolha Confirmar, insira uma mensagem de confirmação e escolha Confirmar novamente.

  10. 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 obter mais informações sobre como executar um fluxo de trabalho manualmente, consulteIniciando um fluxo de trabalho executado manualmente.

Como faço para corrigir erros de “instalação do npm”?

Problema: sua ação de AWS CDK implantação ou ação de AWS CDK bootstrap falha com um npm install erro. 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 cdk.json arquivo em vez de fornecer os equivalentes em texto não criptografado. Para criar os segredos:

    1. Abra o CodeCatalyst console em https://codecatalyst.aws/.

    2. Selecione o projeto.

    3. No painel de navegação, escolha CI/CD e, em seguida, escolha Segredos.

    4. Crie dois segredos com as seguintes propriedades:

      Primeiro segredo Segundo segredo

      Nome: npmUsername

      Value (Valor): npm-usernameem que, npm-username é o nome de usuário usado para se autenticar em seu registro npm privado.

      (Opcional) Descrição: The username used to authenticate to the private npm registry.

      Nome: npmAuthToken

      Value (Valor): npm-auth-tokenem que, npm-auth-token é o token de acesso usado para se autenticar em seu registro npm privado. Para obter mais informações sobre tokens de acesso npm, consulte Sobre tokens de acesso na documentação do npm.

      (Opcional) Descrição: The access token used to authenticate to the private npm registry.

      Para obter mais informações sobre segredos, consulteMascarando dados usando segredos.

  2. 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, em seguida, escolha Fluxos de trabalho.

    2. Escolha o nome do seu fluxo de trabalho. Você pode filtrar pelo nome do repositório ou ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou status do fluxo de trabalho.

    3. Selecione a opção Editar.

    4. Escolha Visual.

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

    6. Escolha a guia Entradas.

    7. Adicione duas variáveis com as seguintes propriedades:

      Primeira variável Segunda variável

      Nome: NPMUSER

      Valor: ${Secrets.npmUsername}

      Nome: NPMTOKEN

      Valor: ${Secrets.npmAuthToken}

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

    O YAML código do arquivo de definição do 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 NPMTOKEN variáveis NPMUSER e em seu cdk.json arquivo. Vá para o próximo procedimento.

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

  2. 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", ...
  3. 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|.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á o NPMUSER e NPMTOKEN variáveis com o nome de usuário npm e o token de acesso que você especificou em Segredos.

  4. Salve o arquivo cdk.json.

  5. Execute novamente a ação manualmente para ver se as alterações corrigem o erro. Para obter mais informações sobre como executar ações manualmente, consulteIniciando um fluxo de trabalho executado manualmente.

Por que vários fluxos de trabalho têm o mesmo nome?

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 filiais 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.

Ramificação do fluxo

Posso armazenar meus arquivos de definição de fluxo de trabalho em outra pasta?

Não, você deve armazenar todos os arquivos de definição de fluxo de trabalho na .codecatalyst/workflows pasta 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 .codecatalyst/workflows pasta ou em uma de suas subpastas e, em seguida, use o campo Arquivos alterados (editor visual) ou a FilesChanged propriedade (YAMLeditor) dentro de um gatilho para acionar o fluxo de trabalho automaticamente em um caminho de projeto especificado. Para ter mais informações, consulte Adicionar gatilhos aos fluxos de trabalho e Exemplo: um gatilho com um push, ramificações e arquivos.

Como adiciono ações em sequência ao meu fluxo de trabalho?

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, você pode definir uma dependência em outra ação definindo o DependsOn campo. 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 Ações de sequenciamento.

Por que meu fluxo de trabalho é validado com sucesso, mas falha em tempo de execução?

Se você validou seu fluxo de trabalho usando o Validate botão, mas seu fluxo de trabalho falhou de qualquer maneira, isso pode ser devido a 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.

A descoberta automática não descobre nenhum relatório da minha ação

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. Experimente 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.

  • 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 em JUnitXML formato, verifique se a extensão do arquivo é.xml. Para obter mais informações, consulte Tipos de relatório de qualidade.

  • 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 ExcludePaths não excluir 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 YAMLExemplo de relatórios de qualidade.

  • 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 após eu configurar os critérios de sucesso

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 exclua 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 ter mais informações, consulte Critérios de sucesso

  • 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 Configurando critérios de sucesso para relatórios.

A descoberta automática gera relatórios que eu não quero

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 emnode_modules.

Possíveis correções: você pode ajustar a ExcludePaths configuração para excluir arquivos indesejados. Por exemplo, para excluirnode_modules, adicionenode_modules/**/*. Para obter mais informações, consulte Incluir/excluir caminhos.

A descoberta automática gera muitos pequenos relatórios para uma única estrutura de teste

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, 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 Maven Surefire Plugin, você pode usar npx junit-merge para agregar os arquivos manualmente. A expressão completa pode ter a seguinte aparência:

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

Os fluxos de trabalho listados em CI/CD não correspondem aos do repositório de origem

Problema: Os fluxos de trabalho exibidos na página CI/CD, Fluxos de trabalho não coincidem com os da ~/.codecatalyst/workflows/ pasta no seu repositório de origem. Você pode ver as seguintes incompatibilidades:

  • Um fluxo de trabalho aparece 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 em seu repositório de origem, mas um fluxo de trabalho correspondente não aparece na página Fluxos de trabalho.

  • Existe um fluxo de trabalho no repositório de origem e na página Fluxos de trabalho, mas os dois são diferentes.

Esse problema pode ocorrer se a página Fluxos de trabalho não tiver tido tempo de atualizar ou se uma cota de fluxo de trabalho tiver sido excedida.

Correções possíveis:

  • Espere. Normalmente, você precisa esperar dois ou três segundos após uma confirmação na fonte antes de ver a alteração na página Fluxos de trabalho.

  • Se você excedeu uma cota de fluxo de trabalho, faça o seguinte:

    nota

    Para determinar se uma cota de fluxo de trabalho foi excedidaCotas para fluxos de trabalho em CodeCatalyst, revise 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 o número máximo de fluxos de trabalho por cota de espaço, exclua alguns fluxos de trabalho e, em seguida, realize um teste de confirmação no arquivo de definição do fluxo de trabalho. Um exemplo de confirmação de teste pode ser adicionar um espaço ao arquivo.

    • Se você excedeu a cota máxima de tamanho 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 o número máximo de arquivos de fluxo de trabalho processados em uma única cota de eventos 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

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

Possíveis correções: dependendo da sua função 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 YAML arquivos dos fluxos de trabalho são armazenados em repositórios. Para obter mais informações, consulte Arquivos de definição de fluxo de trabalho. A função de administrador de espaço, a função de administrador de projeto e a função de colaborador têm permissão para confirmar e enviar código para repositórios em um projeto.

Se você tem a função de Colaborador, mas não consegue criar ou confirmar alterações YAML no fluxo de trabalho em uma ramificação específica, pode haver uma regra de ramificação configurada para essa ramificação que impede que os usuários com essa função enviem código para essa ramificação específica. Tente criar um fluxo de trabalho em uma ramificação diferente ou confirmar suas alterações em uma ramificação diferente. Para obter mais informações, consulte Gerencie as ações permitidas para uma ramificação com regras de ramificação.