Risoluzione dei problemi relativi ai flussi di lavoro - Amazon CodeCatalyst

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi ai flussi di lavoro

Consulta le seguenti sezioni per risolvere i problemi relativi ai flussi di lavoro in Amazon. CodeCatalyst Per ulteriori informazioni sui flussi di lavoro, consulta Crea, testa e distribuisci con flussi di lavoro in CodeCatalyst.

Come posso correggere i messaggi «Workflow is inactive»?

Problema: nella CodeCatalyst console, in CI/CD, Workflows, il flusso di lavoro viene visualizzato con il seguente messaggio:

Workflow is inactive.

Questo messaggio indica che il file di definizione del flusso di lavoro contiene un trigger che non si applica al ramo in cui ti trovi attualmente. Ad esempio, il file di definizione del flusso di lavoro potrebbe contenere un PUSH trigger che fa riferimento al tuo main ramo, ma ti trovi su un feature branch. Poiché le modifiche che stai apportando al feature branch non si applicano amain, e non avvieranno, il flusso di lavoro viene eseguito inmain, CodeCatalyst disattiva il flusso di lavoro sul branch e lo contrassegna come. Inactive

Possibili soluzioni.

Se desideri avviare un flusso di lavoro sul tuo feature branch, puoi fare quanto segue:

  • Nel tuo feature branch, nel file di definizione del flusso di lavoro, rimuovi la Branches proprietà dalla Triggers sezione in modo che abbia il seguente aspetto:

    Triggers: - Type: PUSH

    Questa configurazione fa sì che il trigger si attivi quando viene inviato un push a qualsiasi branch, incluso il feature branch. Se il trigger è attivato, CodeCatalyst avvierà l'esecuzione di un flusso di lavoro utilizzando il file di definizione del flusso di lavoro e i file sorgente presenti nel ramo verso cui si sta eseguendo il push.

  • Nel tuo feature branch, nel file di definizione del flusso di lavoro, rimuovi la Triggers sezione ed esegui il flusso di lavoro manualmente.

  • Nel tuo feature branch, nel file di definizione del flusso di lavoro, modifica la PUSH sezione in modo che faccia riferimento al tuo feature branch anziché a un altro ramo (comemain, ad esempio).

Importante

Fai attenzione a non confermare queste modifiche se non intendi unirle per tornare alla tua main filiale.

Per ulteriori informazioni sulla modifica del file di definizione del flusso di lavoro, consultaCreazione di un flusso di lavoro.

Per ulteriori informazioni sui trigger, consulta L'avvio di un flusso di lavoro viene eseguito automaticamente con i trigger.

Come posso correggere gli errori «La definizione del flusso di lavoro non ha errori»?

Problema: viene visualizzato uno dei seguenti messaggi di errore:

Errore 1:

Nella pagina CI/CD, Flussi di lavoro, sotto il nome del flusso di lavoro, vedi:

Workflow definition has n errors

Errore 2:

Durante la modifica di un flusso di lavoro, scegli il pulsante Convalida e nella parte superiore della CodeCatalyst console viene visualizzato il seguente messaggio:

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

Errore 3:

Dopo aver visitato la pagina dei dettagli del flusso di lavoro, viene visualizzato il seguente errore nel campo Definizione del flusso di lavoro:

n errors

Possibili soluzioni.

  • Scegli CI/CD, scegli Flussi di lavoro e scegli il nome del flusso di lavoro che presenta l'errore. Nel campo Definizione del flusso di lavoro in alto, scegli il link all'errore. I dettagli sull'errore vengono visualizzati nella parte inferiore della pagina. Segui i suggerimenti per la risoluzione dei problemi riportati nell'errore per risolvere il problema.

  • Assicurati che il file di definizione del flusso di lavoro sia un file YAML.

  • Assicurati che le proprietà YAML nel file di definizione del flusso di lavoro siano annidate al livello corretto. Per vedere come devono essere annidate le proprietà nel file di definizione del flusso di lavoro, consultate o consultate la Definizione YAML del flusso di lavoro documentazione dell'azione, che è collegata a from. Aggiungere un'azione a un CodeCatalyst flusso di lavoro

  • Accertatevi che gli asterischi (*) e gli altri caratteri speciali non compaiano correttamente. Per evitarli, aggiungete virgolette singole o doppie. Per esempio:

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

    Per ulteriori informazioni sui caratteri speciali nel file di definizione del flusso di lavoro, consultaLinee guida e convenzioni sulla sintassi.

  • Assicurati che le proprietà YAML nel file di definizione del flusso di lavoro utilizzino le maiuscole corrette. Per ulteriori informazioni sulle regole di classificazione delle maiuscole, consulta. Linee guida e convenzioni sulla sintassi Per determinare la classificazione delle maiuscole e minuscole corretta per ogni proprietàDefinizione YAML del flusso di lavoro, consulta o consulta la documentazione relativa all'azione, che è collegata a from. Aggiungere un'azione a un CodeCatalyst flusso di lavoro

  • Assicurati che la SchemaVersion proprietà sia presente e impostata sulla versione corretta nel file di definizione del flusso di lavoro. Per ulteriori informazioni, consulta SchemaVersion.

  • Assicuratevi che la Triggers sezione del file di definizione del flusso di lavoro includa tutte le proprietà richieste. Per determinare le proprietà richieste, scegli il trigger nell'editor visivo e cerca i campi in cui mancano informazioni, oppure consulta la documentazione di riferimento del trigger all'indirizzoTriggers.

  • Assicurati che la DependsOn proprietà nel file di definizione del flusso di lavoro sia configurata correttamente e non introduca dipendenze circolari. Per ulteriori informazioni, consulta Configurazione delle azioni in modo che dipendano da altre azioni.

  • Assicuratevi che la Actions sezione del file di definizione del flusso di lavoro includa almeno un'azione. Per ulteriori informazioni, consulta Azioni.

  • Assicurati che ogni azione includa tutte le proprietà richieste. Per determinare le proprietà richieste, scegli l'azione nell'editor visivo e cerca i campi in cui mancano informazioni, oppure consulta la documentazione dell'azione, a cui è collegato il link daAggiungere un'azione a un CodeCatalyst flusso di lavoro.

  • Assicurati che tutti gli artefatti di input abbiano artefatti di output corrispondenti. Per ulteriori informazioni, consulta Definizione di un artefatto di output.

  • Assicuratevi che le variabili definite in un'azione vengano esportate in modo che possano essere utilizzate in altre azioni. Per ulteriori informazioni, consulta Esportazione di una variabile in modo che altre azioni possano utilizzarla.

Come posso correggere gli errori «Impossibile individuare le credenziali» e "ExpiredToken"?

Problema: durante l'elaborazioneTutorial: distribuzione di un'applicazione su Amazon EKS, nella finestra del terminale della macchina di sviluppo vengono visualizzati uno o entrambi i seguenti messaggi di errore:

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

ExpiredToken: The security token included in the request is expired

Possibili soluzioni.

Questi errori indicano che le credenziali che stai utilizzando per accedere ai AWS servizi sono scadute. In questo caso, non eseguire il aws configure comando. Utilizzate invece le seguenti istruzioni per aggiornare la chiave di AWS accesso e il token di sessione.

Per aggiornare la chiave di AWS accesso e il token di sessione
  1. Assicurati di avere l'URL del portale di AWS accesso, il nome utente e la password dell'utente che stai utilizzando per completare il tutorial Amazon EKS (codecatalyst-eks-user). Dovresti aver configurato questi elementi al termine Passaggio 1: configura la tua macchina di sviluppo del tutorial.

    Nota

    Se non disponi di queste informazioni, vai alla pagina dei codecatalyst-eks-user dettagli in IAM Identity Center, scegli Reimposta password, Genera una password monouso [...] e Reimposta nuovamente la password per visualizzare le informazioni sullo schermo.

  2. Esegui una di queste operazioni:

    • Incolla l'URL del portale di AWS accesso nella barra degli indirizzi del browser.

      Or

    • Aggiorna la pagina del portale di AWS accesso se è già stata caricata.

  3. Accedi con il nome codecatalyst-eks-user utente e la password, se non hai già effettuato l'accesso.

  4. Scegli Account AWS, quindi scegli il nome Account AWS a cui hai assegnato l'codecatalyst-eks-userutente e il set di autorizzazioni.

  5. Accanto al nome del set di autorizzazioni (codecatalyst-eks-permission-set), scegliete Accesso da riga di comando o accesso programmatico.

  6. Copia i comandi al centro della pagina. Sono simili ai seguenti:

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

    ... dove session-token è una lunga stringa casuale.

  7. Incolla i comandi nel prompt del terminale sulla tua macchina di sviluppo e premi Invio.

    Le nuove chiavi e il token di sessione vengono caricati.

    Ora hai aggiornato le tue credenziali. I kubectl comandi AWS CLIeksctl, e ora dovrebbero funzionare.

Come posso correggere gli errori «Impossibile connettersi al server»?

Problema: durante l'esecuzione del tutorial descritto inTutorial: distribuzione di un'applicazione su Amazon EKS, viene visualizzato un messaggio di errore simile al seguente nella finestra del terminale della macchina di sviluppo:

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

Possibili soluzioni.

Questo errore indica in genere che le credenziali utilizzate dall'kubectlutilità per connettersi al cluster Amazon EKS sono scadute. Per risolvere il problema, aggiorna le credenziali inserendo il seguente comando al prompt del terminale:

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

Dove:

  • codecatalyst-eks-clusterviene sostituito dal nome del tuo cluster Amazon EKS.

  • us-west-2 viene sostituito dalla regione in cui è AWS distribuito il cluster.

Perché mancano CodeDeploy dei campi nell'editor visivo?

Problema: stai utilizzando un'azione Deploy to Amazon ECS e non vedi CodeDeploy i campi come CodeDeploy AppSpecnell'editor visivo del flusso di lavoro. Questo problema può verificarsi perché il servizio Amazon ECS specificato nel campo Servizio non è configurato per eseguire distribuzioni blu/verdi.

Possibili soluzioni.

Come posso correggere gli errori relativi alle funzionalità IAM?

Problema: stai utilizzando un'azione Deploy AWS CloudFormation stack e lo vedi ##[error] requires capabilities: [capability-name] nei log dell'azione Deploy stack. AWS CloudFormation

Possibili correzioni: completa la seguente procedura per aggiungere la funzionalità al file di definizione del flusso di lavoro. Per ulteriori informazioni sulle funzionalità IAM, consulta la sezione Riconoscimento delle risorse IAM nei AWS CloudFormation modelli nella Guida per l'utente IAM.

Visual
Per aggiungere una funzionalità IAM utilizzando l'editor visivo
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Scegliere il progetto.

  3. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  4. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome del flusso di lavoro.

  5. Scegli Modifica.

  6. Scegli Visual.

  7. Nel diagramma del flusso di lavoro, scegli l'azione Deploy AWS CloudFormation stack.

  8. Scegli la scheda Configurazione.

  9. In basso, scegli Avanzato - opzionale.

  10. Nell'elenco a discesa Funzionalità, seleziona la casella di controllo accanto alla funzionalità menzionata nel messaggio di errore. Se la funzionalità non è disponibile nell'elenco, usa l'editor YAML per aggiungerla.

  11. (Facoltativo) Scegliete Convalida per convalidare il codice YAML del flusso di lavoro prima di eseguire il commit.

  12. Scegliete Commit, inserite un messaggio di commit e scegliete nuovamente Commit.

  13. Se l'esecuzione di un nuovo flusso di lavoro non si avvia automaticamente, esegui il flusso di lavoro manualmente per vedere se le modifiche correggono l'errore. Per ulteriori informazioni sull'esecuzione manuale di un flusso di lavoro, consultaAvvio di un flusso di lavoro eseguito manualmente.

YAML
Per aggiungere una funzionalità IAM utilizzando l'editor YAML
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Scegliere il progetto.

  3. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  4. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome del flusso di lavoro.

  5. Scegli Modifica.

  6. Scegli YAML.

  7. Nell'azione Deploy AWS CloudFormation stack, aggiungi una capabilities proprietà, come questa:

    DeployCloudFormationStack: Configuration: capabilities: capability-name

    Sostituisci capability-name con il nome della funzionalità IAM mostrata nel messaggio di errore. Usa virgole e nessun spazio per elencare più funzionalità. Per ulteriori informazioni, vedere la descrizione della capabilities proprietà nelDefinizione YAML dell'azione «Deploy AWS CloudFormation stack».

  8. (Facoltativo) Scegliete Convalida per convalidare il codice YAML del flusso di lavoro prima di eseguire il commit.

  9. Scegliete Commit, inserite un messaggio di commit e scegliete nuovamente Commit.

  10. Se l'esecuzione di un nuovo flusso di lavoro non si avvia automaticamente, esegui il flusso di lavoro manualmente per vedere se le modifiche correggono l'errore. Per ulteriori informazioni sull'esecuzione manuale di un flusso di lavoro, consultaAvvio di un flusso di lavoro eseguito manualmente.

Come posso correggere gli errori di «npm install»?

Problema: l'azione AWS CDK deploy o l'azione AWS CDK bootstrap falliscono con un errore. npm install Questo errore può verificarsi perché stai archiviando le dipendenze AWS CDK dell'app in un registro di gestione dei pacchetti del nodo privato (npm) a cui l'azione non può accedere.

Possibili correzioni: utilizza le seguenti istruzioni per aggiornare il cdk.json file dell' AWS CDK app con informazioni aggiuntive sul registro e sull'autenticazione.

Prima di iniziare
  1. Crea segreti per le tue informazioni di autenticazione. Farai riferimento a questi segreti nel cdk.json file invece di fornire gli equivalenti in chiaro. Per creare i segreti:

    1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

    2. Scegliere il progetto.

    3. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Secrets.

    4. Crea due segreti con le seguenti proprietà:

      Primo segreto Secondo segreto

      Nome: npmUsername

      Valore: npm-username, dove npm-username è il nome utente utilizzato per autenticarsi nel registro npm privato.

      (Facoltativo) Descrizione: The username used to authenticate to the private npm registry.

      Nome: npmAuthToken

      Valore: npm-auth-token, npm-auth-tokendov'è il token di accesso utilizzato per l'autenticazione nel registro npm privato. Per ulteriori informazioni sui token di accesso npm, vedere Informazioni sui token di accesso nella documentazione di npm.

      (Facoltativo) Descrizione: The access token used to authenticate to the private npm registry.

      Per ulteriori informazioni sui segreti, vedereConfigurazione e utilizzo dei segreti in un flusso di lavoro.

  2. Aggiungi i segreti come variabili di ambiente alla tua AWS CDK azione. L'azione sostituirà le variabili con valori reali durante l'esecuzione. Per aggiungere i segreti:

    1. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

    2. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome del flusso di lavoro.

    3. Scegli Modifica.

    4. Scegli Visual.

    5. Nel diagramma del flusso di lavoro, scegli la tua AWS CDK azione.

    6. Scegli la scheda Input.

    7. Aggiungi due variabili con le seguenti proprietà:

      Prima variabile Seconda variabile

      Nome: NPMUSER

      Value (Valore): ${Secrets.npmUsername}

      Nome: NPMTOKEN

      Value (Valore): ${Secrets.npmAuthToken}

      Ora hai due variabili contenenti riferimenti a segreti.

    Il codice YAML del file di definizione del flusso di lavoro dovrebbe essere simile al seguente:

    Nota

    Il seguente esempio di codice proviene da un'azione di AWS CDK bootstrap; un'azione di AWS CDK distribuzione avrà un aspetto simile.

    Name: CDK_Bootstrap_Action SchemaVersion: 1.0 Actions: CDKBootstrapAction: Identifier: aws/cdk-bootstrap@v1 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"

    Ora sei pronto per utilizzare le NPMTOKEN variabili NPMUSER and nel tuo cdk.json file. Passate alla procedura successiva.

Per aggiornare il file cdk.json
  1. Passa alla directory principale del AWS CDK progetto e apri il file. cdk.json

  2. Trova la "app": proprietà e modificala per includere il codice mostrato in corsivo rosso:

    Nota

    Il codice di esempio seguente proviene da un TypeScript progetto. Se stai usando un JavaScript progetto, il codice avrà un aspetto simile ma non identico.

    { "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. Nel codice evidenziato in corsivo rosso, sostituisci:

    • your-registry/folder/cdk-package/ con il percorso delle dipendenze del progetto nel registro privato. AWS CDK

    • hello-cdk.ts|.js con il nome del file entrypoint. Questo può essere un file .ts (TypeScript) o .js (JavaScript) a seconda della lingua che stai usando.

      Nota

      L'azione sostituirà le variabili NPMUSER e NPMTOKEN con il nome utente e il token di accesso npm che hai specificato in Secrets.

  4. Salva il file cdk.json.

  5. Esegui nuovamente l'azione manualmente per vedere se le modifiche risolvono l'errore. Per ulteriori informazioni sull'esecuzione manuale delle azioni, vedereAvvio di un flusso di lavoro eseguito manualmente.

Perché più flussi di lavoro hanno lo stesso nome?

I flussi di lavoro vengono archiviati per ramo per repository. Due flussi di lavoro diversi possono avere lo stesso nome se esistono in rami diversi. Nella pagina Flussi di lavoro, puoi differenziare i flussi di lavoro con lo stesso nome osservando il nome del ramo. Per ulteriori informazioni, consulta Organizzazione del codice sorgente, lavoro con le filiali di Amazon CodeCatalyst.

Ramo Workflow

Posso archiviare i miei file di definizione del flusso di lavoro in un'altra cartella?

No, è necessario archiviare tutti i file di definizione del flusso di lavoro nella .codecatalyst/workflows cartella. Se utilizzi un repository mono con più progetti logici, inserisci tutti i file di definizione del flusso di lavoro .codecatalyst/workflows nella cartella, quindi utilizza la FilesChanged proprietà all'interno di un Trigger per attivare il flusso di lavoro in un percorso di progetto specificato. Per ulteriori informazioni, consulta L'avvio di un flusso di lavoro viene eseguito automaticamente con i trigger.

Come posso aggiungere azioni in sequenza al mio flusso di lavoro?

Per impostazione predefinita, quando aggiungi un'azione al tuo flusso di lavoro, questa non avrà dipendenze e verrà eseguita in parallelo con altre azioni.

Se desideri disporre le azioni in sequenza, puoi impostare una dipendenza da un'altra azione impostando il DependsOn campo. Puoi anche configurare un'azione per consumare artefatti o variabili che sono risultati di altre azioni. Per ulteriori informazioni, consulta Configurazione delle azioni in modo che dipendano da altre azioni.

Perché il mio flusso di lavoro viene convalidato correttamente ma fallisce in fase di esecuzione?

Se hai convalidato il flusso di lavoro utilizzando il Validate pulsante, ma il flusso di lavoro non è riuscito comunque, potrebbe trattarsi di una limitazione nel validatore.

Eventuali errori relativi a una CodeCatalyst risorsa come segreti, ambienti o flotte nella configurazione del flusso di lavoro non verranno registrati durante un commit. Se vengono utilizzati riferimenti non validi, l'errore verrà identificato solo quando viene eseguito un flusso di lavoro. Analogamente, se sono presenti errori nella configurazione delle azioni, ad esempio la mancanza di un campo obbligatorio o errori di battitura negli attributi delle azioni, tali errori verranno identificati solo durante l'esecuzione del flusso di lavoro. Per ulteriori informazioni, consulta Creazione di un flusso di lavoro.

L'individuazione automatica non rileva alcun rapporto relativo alla mia azione

Problema: ho configurato l'individuazione automatica per un'azione che esegue test, ma non viene rilevato alcun report. CodeCatalyst

Possibili correzioni: il problema potrebbe essere causato da diversi problemi. Prova una o più delle seguenti soluzioni:

  • Assicurati che lo strumento utilizzato per eseguire i test produca output in uno dei formati compatibili CodeCatalyst . Ad esempio, se desideri consentire CodeCatalyst di scoprire pytest i report sui test e sulla copertura del codice, includi i seguenti argomenti:

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

    Per ulteriori informazioni, consulta Tipi di report sulla qualità.

  • Assicurati che l'estensione del file per gli output sia coerente con il formato scelto. Ad esempio, quando configuri pytest per produrre risultati in JUnitXML formato, verifica che l'estensione del file sia. .xml Per ulteriori informazioni, consulta Tipi di report sulla qualità.

  • Assicuratevi che IncludePaths sia configurato per includere l'intero file system (**/*) a meno che non stiate escludendo alcune cartelle di proposito. Allo stesso modo, assicurati di ExcludePaths non escludere le directory in cui prevedi che si trovino i report.

  • Se hai configurato manualmente un report per utilizzare un file di output specifico, verrà escluso dal rilevamento automatico. Per ulteriori informazioni, consulta Rapporti sulla qualità (esempio YAML)..

  • L'individuazione automatica potrebbe non trovare i report perché l'azione non è riuscita prima che venissero generati gli output. Ad esempio, la compilazione potrebbe aver avuto esito negativo prima dell'esecuzione di qualsiasi test unitario.

La mia azione non riesce sui report rilevati automaticamente dopo aver configurato i criteri di successo

Problema: quando abilito l'individuazione automatica e configuro i criteri di successo, alcuni report non soddisfano i criteri di successo e di conseguenza l'azione fallisce.

Possibili correzioni: per risolvere il problema, prova una o più delle seguenti soluzioni:

  • Modifica IncludePaths o ExcludePaths escludi i report che non ti interessano.

  • Aggiorna i criteri di successo per consentire l'esecuzione di tutti i report. Ad esempio, se vengono rilevati due report con una copertura di linea del 50% e un altro del 70%, regola la copertura minima della linea al 50%. Per ulteriori informazioni, consulta Criteri di successo

  • Trasforma il rapporto di errore in un rapporto configurato manualmente. Ciò consente di configurare diversi criteri di successo per quel rapporto specifico. Per ulteriori informazioni, consulta Configurazione dei criteri di successo per i report.

L'individuazione automatica genera report che non voglio

Problema: quando abilito l'individuazione automatica, genera report che non voglio. Ad esempio, CodeCatalyst genera report sulla copertura del codice per i file inclusi nelle dipendenze della mia applicazione archiviate in. node_modules

Possibili correzioni: è possibile regolare la ExcludePaths configurazione per escludere i file indesiderati. Ad esempio, per escluderenode_modules, aggiunginode_modules/**/*. Per ulteriori informazioni, consulta Includi/escludi percorsi.

L'individuazione automatica genera molti report di piccole dimensioni per un singolo framework di test

Problema: quando utilizzo determinati framework di reporting di test e copertura del codice, ho notato che l'individuazione automatica genera un gran numero di report. Ad esempio, quando si utilizza il plug-in Maven Surefire, l'individuazione automatica produce un report diverso per ogni classe di test.

Possibili correzioni: il framework potrebbe essere in grado di aggregare gli output in un unico file. Ad esempio, se utilizzi il plug-in Maven Surefire, puoi utilizzarlo per aggregare i file manualmente. npx junit-merge L'espressione completa può assomigliare a questa:

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

I flussi di lavoro elencati in CI/CD non corrispondono a quelli del repository di origine

Problema: i flussi di lavoro visualizzati nella pagina CI/CD, Flussi di lavoro non corrispondono a quelli nella cartella del repository di origine. ~/.codecatalyst/workflows/ È possibile che si verifichino le seguenti discrepanze:

  • Nella pagina Flussi di lavoro viene visualizzato un flusso di lavoro, ma nel repository di origine non esiste un file di definizione del flusso di lavoro corrispondente.

  • Nel repository di origine esiste un file di definizione del flusso di lavoro, ma un flusso di lavoro corrispondente non viene visualizzato nella pagina Flussi di lavoro.

  • Esiste un flusso di lavoro sia nel repository di origine che nella pagina Flussi di lavoro, ma i due sono diversi.

Questo problema può verificarsi se la pagina Flussi di lavoro non ha avuto il tempo di aggiornarsi o se è stata superata la quota del flusso di lavoro.

Possibili soluzioni.

  • Attesa. In genere è necessario attendere due o tre secondi dopo il commit al codice sorgente prima di visualizzare la modifica nella pagina Flussi di lavoro.

  • Se hai superato la quota del flusso di lavoro, esegui una delle seguenti operazioni:

    Nota

    Per determinare se una quota di flusso di lavoro è stata superataQuote per i flussi di lavoro, rivedi e confronta le quote documentate con i flussi di lavoro nel tuo repository di origine o nella pagina Flussi di lavoro. Non viene visualizzato alcun messaggio di errore che indichi che una quota è stata superata, quindi dovrai indagare da solo.

    • Se hai superato il numero massimo di flussi di lavoro per quota di spazio, elimina alcuni flussi di lavoro e quindi esegui un test commit sul file di definizione del flusso di lavoro. Un esempio di commit di test potrebbe essere l'aggiunta di uno spazio al file.

    • Se hai superato la quota di dimensione massima del file di definizione del flusso di lavoro, modifica il file di definizione del flusso di lavoro per ridurne la lunghezza.

    • Se hai superato la quota massima di file di workflow elaborati in un'unica quota di eventi di origine, esegui diversi commit di test. Modifica un numero di flussi di lavoro inferiore al massimo in ogni commit.

    • Aumenta le quote del flusso di lavoro attivando la fatturazione dei livelli a pagamento. Per ulteriori informazioni, consulta Managing billing nella Amazon CodeCatalyst Administrator Guide.

Non riesco a creare o aggiornare flussi di lavoro

Problema: voglio creare o aggiornare un flusso di lavoro, ma visualizzo un errore quando tento di eseguire la modifica.

Possibili correzioni: a seconda del ruolo che ricopri nel progetto o nello spazio, potresti non avere le autorizzazioni per inviare codice agli archivi di origine del progetto. I file YAML per i flussi di lavoro sono archiviati nei repository. Per ulteriori informazioni, consulta File di definizione del flusso di lavoro. Il ruolo di amministratore dello spazio, il ruolo di amministratore del progetto e il ruolo di collaboratore sono tutti autorizzati a eseguire il commit e inviare codice ai repository di un progetto.

Se hai il ruolo di Collaboratore ma non puoi creare o confermare modifiche al flusso di lavoro YAML in un ramo specifico, è possibile che per quel ramo sia configurata una regola di branch che impedisce agli utenti con quel ruolo di inviare codice a quel particolare ramo. Prova a creare un flusso di lavoro in un ramo diverso o a trasferire le modifiche in un ramo diverso. Per ulteriori informazioni, consulta Gestisci le azioni consentite per una filiale con le regole della filiale.