View a markdown version of this page

Risoluzione dei problemi CodePipeline - AWS CodePipeline
Errore di pipeline: una pipeline configurata con AWS Elastic Beanstalk restituisce un messaggio di errore: «Distribuzione non riuscita. Il ruolo fornito non dispone di autorizzazioni sufficienti:» Service:AmazonElasticLoadBalancingErrore di distribuzione: una pipeline configurata con un AWS Elastic Beanstalk l'azione di distribuzione si blocca invece di fallire se manca l'autorizzazione "» DescribeEventsErrore nella pipeline: un'azione sorgente restituisce il messaggio di autorizzazioni insufficienti: «Impossibile accedere al nome del repository. CodeCommit Verifica che il ruolo IAM della pipeline abbia le autorizzazioni sufficienti per accedere al repository."Errore della pipeline: un'operazione di test o compilazione Jenkins viene eseguita per lungo tempo e poi restituisce l'esito negativo a causa di mancanza di credenziali o autorizzazioniErrore nella pipeline: una pipeline creata in una AWS Regione che utilizza un bucket creato in un altro AWS La regione restituisce un "InternalError" con il codice "» JobFailedErrore di distribuzione: un file ZIP che contiene un file WAR viene distribuito con successo su AWS Elastic Beanstalk, ma l'URL dell'applicazione riporta un errore 404 not foundI nomi della cartella degli artefatti della pipeline sembrano troncatiCodeBuild GitClone Aggiungi le GitHub autorizzazioni GitHub per le connessioni a Bitbucket, Enterprise Server o GitLab.comAggiungi le CodeBuild GitClone autorizzazioni per le azioni di origine CodeCommitErrore nella pipeline: una distribuzione con l' CodeDeployToECS azione restituisce un messaggio di errore: «Eccezione durante il tentativo di leggere il file artefatto di definizione dell'attività da: nome dell'elemento sorgente» < >GitHub (tramite l'app OAuth) azione sorgente: l'elenco dei repository mostra diversi repositoryGitHub azione sorgente (tramite GitHub App): impossibile completare la connessione per un repositoryErrore Amazon CodePipeline S3: < al > ruolo del servizio ARN viene negato l'accesso a S3 per il bucket S3 < BucketName >Le pipeline con Amazon S3, Amazon ECR o sorgente non vengono più avviate automaticamente CodeCommitErrore di connessione durante la connessione a GitHub: «Si è verificato un problema, assicurati che i cookie siano abilitati nel browser» o «Il proprietario dell'organizzazione deve installare l' GitHub app»Le pipeline con modalità di esecuzione modificata in modalità QUEUED o PARALLEL hanno esito negativo quando viene raggiunto il limite di esecuzioneLe pipeline in modalità PARALLELA hanno una definizione di pipeline obsoleta se modificate quando si passa alla modalità QUEUED o SUPERSEDEDLe pipeline modificate dalla modalità PARALLELA mostreranno una modalità di esecuzione precedenteLe pipeline con connessioni che utilizzano il filtro dei trigger in base ai percorsi dei file potrebbero non iniziare alla creazione del ramoLe pipeline con connessioni che utilizzano il filtraggio dei trigger in base ai percorsi dei file potrebbero non avviarsi quando viene raggiunto il limite di fileCodeCommit oppure le revisioni dei sorgenti S3 in modalità PARALLELA potrebbero non corrispondere all'evento EventBridgeL'azione di distribuzione EC2 ha esito negativo e viene visualizzato il messaggio di errore No such file L'azione EKS Deploy ha esito negativo e viene visualizzato un messaggio di errore irraggiungibile dal clusterLa pipeline non si attiva per tutti i rami quando più azioni di origine fanno riferimento allo stesso repositoryHai bisogno di assistenza per un problema diverso?

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 CodePipeline

Le informazioni seguenti possono risultare utili per risolvere i problemi comuni di AWS CodePipeline.

Argomenti

Errore di pipeline: una pipeline configurata con AWS Elastic Beanstalk restituisce un messaggio di errore: «Distribuzione non riuscita. Il ruolo fornito non dispone di autorizzazioni sufficienti:» Service:AmazonElasticLoadBalancing

Problema: il ruolo di servizio di non CodePipeline dispone di autorizzazioni sufficienti per AWS Elastic Beanstalk, a titolo esemplificativo ma non esaustivo, alcune operazioni in Elastic Load Balancing. Il ruolo di servizio di CodePipeline è stato aggiornato il 6 agosto 2015 per risolvere questo problema. I clienti che hanno creato il ruolo di servizio prima di questa data devono modificare l'istruzione della policy per il ruolo del servizio in modo da aggiungere le autorizzazioni necessarie.

Possibili correzioni: la soluzione più semplice consiste nel modificare l'istruzione della policy per il ruolo del servizio, come descritto ampiamente in Aggiungi le autorizzazioni al ruolo del servizio CodePipeline.

Dopo aver applicato la policy modificata, segui i passaggi indicati per Avvio manuale di una pipeline rieseguire manualmente tutte le pipeline che utilizzano Elastic Beanstalk.

In base alle esigenze di sicurezza, puoi modificare le autorizzazioni anche in altri modi.

Errore di distribuzione: una pipeline configurata con un AWS Elastic Beanstalk l'azione di distribuzione si blocca invece di fallire se manca l'autorizzazione "» DescribeEvents

Problema: il ruolo del servizio per CodePipeline deve includere l'"elasticbeanstalk:DescribeEvents"azione per tutte le pipeline che utilizzano. AWS Elastic Beanstalk Senza questa autorizzazione, le azioni di AWS Elastic Beanstalk distribuzione si bloccano senza fallire o indicare un errore. Se questa azione non è inclusa nel tuo ruolo di servizio, CodePipeline non disponi delle autorizzazioni per eseguire la fase di distribuzione della pipeline per tuo conto. AWS Elastic Beanstalk

Possibili correzioni: rivedi il tuo ruolo di servizio. CodePipeline Se l'operazione "elasticbeanstalk:DescribeEvents" è mancante, utilizza le istruzioni in Aggiungi le autorizzazioni al ruolo del servizio CodePipeline per aggiungerla usando la funzione Edit Policy (Modifica policy) nella console IAM.

Dopo aver applicato la policy modificata, segui i passaggi indicati per Avvio manuale di una pipeline rieseguire manualmente tutte le pipeline che utilizzano Elastic Beanstalk.

Errore nella pipeline: un'azione sorgente restituisce il messaggio di autorizzazioni insufficienti: «Impossibile accedere al nome del repository. CodeCommit Verifica che il ruolo IAM della pipeline abbia le autorizzazioni sufficienti per accedere al repository."

Problema: il ruolo di servizio per non CodePipeline dispone di autorizzazioni sufficienti CodeCommit e probabilmente è stato creato prima dell'aggiunta del supporto per l'utilizzo dei CodeCommit repository il 18 aprile 2016. I clienti che hanno creato il ruolo di servizio prima di questa data devono modificare l'istruzione della policy per il ruolo del servizio in modo da aggiungere le autorizzazioni necessarie.

Possibili correzioni: aggiungi le autorizzazioni richieste per CodeCommit alla policy del tuo ruolo di CodePipeline servizio. Per ulteriori informazioni, consulta Aggiungi le autorizzazioni al ruolo del servizio CodePipeline.

Errore della pipeline: un'operazione di test o compilazione Jenkins viene eseguita per lungo tempo e poi restituisce l'esito negativo a causa di mancanza di credenziali o autorizzazioni

Problema: se il server Jenkins è installato su un'istanza Amazon EC2, l'istanza potrebbe non essere stata creata con un ruolo di istanza con le autorizzazioni richieste per. CodePipeline Se utilizzi un utente IAM su un server Jenkins, un'istanza locale o un'istanza Amazon EC2 creata senza il ruolo IAM richiesto, l'utente IAM non dispone delle autorizzazioni richieste oppure il server Jenkins non può accedere a tali credenziali tramite il profilo configurato sul server.

Possibili correzioni: assicurati che il ruolo dell'istanza Amazon EC2 o l'utente IAM sia configurato con la policy gestita o con le AWSCodePipelineCustomActionAccess autorizzazioni equivalenti. Per ulteriori informazioni, consulta AWS politiche gestite per AWS CodePipeline.

Se utilizzi un utente IAM, assicurati che il AWS profilo configurato sull'istanza utilizzi l'utente IAM configurato con le autorizzazioni corrette. Potrebbe essere necessario fornire le credenziali utente IAM configurate per l'integrazione tra Jenkins e CodePipeline direttamente nell'interfaccia utente di Jenkins. Questa non è una best practice consigliata. Se è necessario, verifica che il server Jenkins sia protetto e utilizzi HTTPS anziché HTTP.

Errore nella pipeline: una pipeline creata in una AWS Regione che utilizza un bucket creato in un altro AWS La regione restituisce un "InternalError" con il codice "» JobFailed

Problema: il download di un artefatto archiviato in un bucket Amazon S3 fallirà se la pipeline e il bucket vengono creati in regioni diverse. AWS

Possibili correzioni: assicurati che il bucket Amazon S3 in cui è archiviato l'artefatto si trovi nella stessa regione della pipeline che hai creato. AWS

Errore di distribuzione: un file ZIP che contiene un file WAR viene distribuito con successo su AWS Elastic Beanstalk, ma l'URL dell'applicazione riporta un errore 404 not found

Problema: un file WAR viene distribuito in un ambiente AWS Elastic Beanstalk , ma l'URL dell'applicazione restituisce un errore 404 Non trovato.

Possibili correzioni: AWS Elastic Beanstalk può decomprimere un file ZIP, ma non un file WAR contenuto in un file ZIP. Invece di specificare un file WAR nel tuo file buildspec.yml, specifica una cartella con i contenuti da distribuire. Ad esempio:

version: 0.2 phases: post_build: commands: - mvn package - mv target/my-web-app ./ artifacts: files: - my-web-app/**/* discard-paths: yes

Per un esempio, consulta Esempio di AWS Elastic Beanstalk per CodeBuild.

I nomi della cartella degli artefatti della pipeline sembrano troncati

Problema: quando si visualizzano i nomi degli artefatti della pipeline in CodePipeline, i nomi sembrano troncati. Questo può far sì che i nomi sembrino simili o sembrino non contenere più tutto il nome della pipeline.

Spiegazione: CodePipeline tronca i nomi degli artefatti per garantire che l'intero percorso Amazon S3 non superi i limiti di dimensione delle policy quando genera credenziali temporanee per i lavoratori. CodePipeline

Anche se il nome dell'artefatto sembra troncato, viene mappato al bucket degli artefatti in un modo che non viene CodePipeline influenzato dagli artefatti con nomi troncati. La pipeline può funzionare normalmente. Questo non è un problema con la cartella o gli artefatti. I nomi di pipeline hanno un limite di 100 caratteri. Anche se il nome della cartella degli artefatti potrebbe sembrare accorciato, è ancora univoco per la pipeline.

CodeBuild GitClone Aggiungi le GitHub autorizzazioni GitHub per le connessioni a Bitbucket, Enterprise Server o GitLab.com

Quando usi un'azione AWS CodeConnections in a source e un' CodeBuild azione, ci sono due modi in cui l'artefatto di input può essere passato alla build:

  • Impostazione predefinita: l'azione source produce un file zip contenente il codice da scaricare. CodeBuild

  • Clone completo: il codice sorgente può essere scaricato direttamente nell'ambiente di compilazione.

    La modalità Full clone consente di interagire con il codice sorgente come un repository Git funzionante. Per utilizzare questa modalità, devi concedere al tuo CodeBuild ambiente le autorizzazioni per utilizzare la connessione.

Per aggiungere autorizzazioni alla politica relativa al ruolo CodeBuild di servizio, è necessario creare una politica gestita dal cliente da allegare al ruolo di servizio. CodeBuild I passaggi seguenti creano una policy in cui l'UseConnectionautorizzazione è specificata nel action campo, l'ARN di connessione è specificato nel Resource campo e l'ID del repository di origine è limitato tramite. Condition

Per utilizzare la console per aggiungere le autorizzazioni UseConnection
  1. Per trovare l'ARN di connessione e l'ID del repository di origine per la pipeline, aprite la pipeline, fate clic sull'icona (i) sull'azione sorgente e passate alla scheda Input.

    Un esempio di ARN di connessione è:

    arn:aws:codeconnections:eu-central-1:123456789123:connection/sample-1908-4932-9ecc-2ddacee15095

    Un esempio dell'ID del repository di origine:

    owner/test-app

    L'ARN di connessione e l'ID del repository vengono aggiunti alla policy relativa al ruolo del CodeBuild servizio.

  2. Per trovare il tuo ruolo CodeBuild di servizio, scegli il progetto di build utilizzato nella pipeline e vai alla scheda Dettagli della build.

  3. Scegliere il collegamento Service role (Ruolo del servizio). Si apre la console IAM, in cui è possibile aggiungere una nuova policy che permette l'accesso alla connessione.

  4. Nella console IAM, scegli Aggiungi autorizzazioni, quindi scegli Crea policy inline.

    Utilizzare il seguente esempio di modello di policy. Aggiungi l'ARN di connessione nel Resource campo e l'ID codeconnections:FullRepositoryId del tuo repository nel Condition campo, come mostrato in questo esempio:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codeconnections:UseConnection", "Resource": "arn:aws:codeconnections:eu-central-1:123456789123:connection/my-connection-id", "Condition": { "StringEquals": { "codeconnections:FullRepositoryId": "my-repository-id" } } } ] }

    Usa il Condition campo per restringere ulteriormente le autorizzazioni delle tue policy in base ai requisiti delle specifiche di compilazione (vedi CodeConnection la documentazione delle condizioni). https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections-use

    Nella scheda JSON incollare la policy.

  5. Scegli Avanti. Immettere un nome per la policy (ad esempio connection-permissions), quindi scegliere Create policy (Crea policy).

    Vedrai la connection-permissions politica allegata al tuo ruolo Politiche di autorizzazione.

Aggiungi le CodeBuild GitClone autorizzazioni per le azioni di origine CodeCommit

Quando la pipeline ha un'azione CodeCommit sorgente, ci sono due modi per passare l'artefatto di input alla build:

  • Predefinito: l'azione source produce un file zip contenente il codice da scaricare. CodeBuild

  • Clone completo: il codice sorgente può essere scaricato direttamente nell'ambiente di compilazione.

    L'opzione Full clone consente di interagire con il codice sorgente come un repository Git funzionante. Per utilizzare questa modalità, devi aggiungere le autorizzazioni affinché il tuo CodeBuild ambiente possa prelevare dal tuo repository.

Per aggiungere autorizzazioni alla policy relativa al ruolo CodeBuild di servizio, è necessario creare una policy gestita dal cliente da allegare al ruolo di servizio. CodeBuild I passaggi seguenti creano una policy che specifica l'codecommit:GitPullautorizzazione nel campo. action

Per utilizzare la console per aggiungere le autorizzazioni GitPull
  1. Per trovare il tuo ruolo di CodeBuild servizio, apri il progetto di build utilizzato nella pipeline e vai alla scheda Dettagli della build.

  2. Scegliere il collegamento Service role (Ruolo del servizio). Si apre la console IAM in cui puoi aggiungere una nuova policy che concede l'accesso al tuo repository.

  3. Nella console IAM, scegliere Attach policies (Collega policy), quindi selezionare Create policy (Crea policy).

  4. Nella scheda JSON, incolla il seguente esempio di policy.

    { "Action": [ "codecommit:GitPull" ], "Resource": "*", "Effect": "Allow" },
  5. Scegliere Esamina policy. Immettere un nome per la policy (ad esempio codecommit-gitpull), quindi scegliere Create policy (Crea policy).

  6. Tornare alla pagina in cui si stavano collegando le autorizzazioni, aggiornare l'elenco delle policy e selezionare la policy appena creata. Scegli Collega policy.

Errore nella pipeline: una distribuzione con l' CodeDeployToECS azione restituisce un messaggio di errore: «Eccezione durante il tentativo di leggere il file artefatto di definizione dell'attività da: nome dell'elemento sorgente» < >

Problema

Il file di definizione dell'attività è un elemento necessario per l'azione di CodePipeline distribuzione su Amazon ECS tramite (l'azione). CodeDeploy CodeDeployToECS La dimensione massima dello ZIP dell'artefatto nell'azione di distribuzione è di 3 MBCodeDeployToECS. Il seguente messaggio di errore viene restituito quando il file non viene trovato o la dimensione dell'artefatto supera i 3 MB:

Eccezione durante il tentativo di leggere il file artefatto della definizione dell'attività da: <source artifact name>

Possibili correzioni: assicurati che il file di definizione dell'attività sia incluso come artefatto. Se il file esiste già, assicurati che la dimensione compressa sia inferiore a 3 MB.

GitHub (tramite l'app OAuth) azione sorgente: l'elenco dei repository mostra diversi repository

Problema

Dopo aver autorizzato con successo un'azione GitHub (tramite l'app OAuth) nella CodePipeline console, puoi scegliere da un elenco dei tuoi repository. GitHub Se l'elenco non include i repository che ti aspetti di vedere, puoi risolvere i problemi relativi all'account utilizzato per l'autorizzazione.

Possibili correzioni: l'elenco dei repository fornito nella CodePipeline console si basa sull' GitHub organizzazione a cui appartiene l'account autorizzato. Verifica che l'account con cui stai utilizzando per l'autorizzazione GitHub sia l'account associato all' GitHub organizzazione in cui è stato creato il repository.

GitHub azione sorgente (tramite GitHub App): impossibile completare la connessione per un repository

Problema

Poiché una connessione a un GitHub repository utilizza il AWS connettore per GitHub, per creare la connessione sono necessarie le autorizzazioni del proprietario dell'organizzazione o le autorizzazioni di amministratore per il repository.

Possibili correzioni: per informazioni sui livelli di autorizzazione per un GitHub repository, vedi @ /setting-up-and-managing-organizations-and- -levels-for-an-organization. https://docs.github.com/en/free-pro-team latest/github teams/permission

Errore Amazon CodePipeline S3: < al > ruolo del servizio ARN viene negato l'accesso a S3 per il bucket S3 < BucketName >

Problema

Mentre è in corso, l' CodeCommit azione in CodePipeline verifica l'esistenza del bucket artefatto della pipeline. Se l'azione non dispone dell'autorizzazione per il controllo, si verifica un AccessDenied errore in Amazon S3 e viene visualizzato il seguente messaggio di errore: CodePipeline

CodePipeline il ruolo di servizio «arn:aws:iam::AccountID: role/service -role/RoleID" sta ottenendo l'accesso a S3 negato per il bucket S3"» BucketName

I log dell'azione registrano anche l'errore. CloudTrail AccessDenied

Possibili correzioni: Effettuare le seguenti operazioni:

  • Per la policy associata al tuo ruolo CodePipeline di servizio, s3:ListBucket aggiungila all'elenco delle azioni della tua policy. Per istruzioni su come visualizzare la politica relativa al ruolo di servizio, consultaVisualizza l'ARN della pipeline e l'ARN del ruolo di servizio (console). Modifica la dichiarazione politica per il tuo ruolo di servizio come descritto inAggiungi le autorizzazioni al ruolo del servizio CodePipeline.

  • Per la policy basata sulle risorse allegata all'artifact bucket Amazon S3 per la tua pipeline, chiamata anche artifact bucket policy, aggiungi una dichiarazione per consentire l'utilizzo dell'autorizzazione da parte del tuo ruolo di servizio. s3:ListBucket CodePipeline

    Per aggiungere la tua policy al bucket degli artefatti
    1. Segui i passaggi indicati Visualizza l'ARN della pipeline e l'ARN del ruolo di servizio (console) per scegliere il bucket di artefatti nella pagina delle impostazioni della pipeline, quindi visualizzalo nella console Amazon S3.

    2. Seleziona Autorizzazioni.

    3. In Policy del bucket, scegli Modifica.

    4. Nel campo di testo Policy, inserisci una nuova policy bucket o modifica la policy esistente come mostrato nell'esempio seguente. La bucket policy è un file JSON, quindi devi inserire un JSON valido.

      L'esempio seguente mostra una dichiarazione della politica del bucket per un bucket artefatto in cui si trova l'ID del ruolo di esempio per il ruolo di servizio. AROAEXAMPLEID

      { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BucketName", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }

      L'esempio seguente mostra la stessa dichiarazione della politica del bucket dopo l'aggiunta dell'autorizzazione.

      JSON
      { "Version":"2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }, { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": false } } } ] }

      Per ulteriori informazioni, consulta le fasi in https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/.

    5. Selezionare Salva.

Dopo aver applicato la policy modificata, segui i passaggi per Avvio manuale di una pipeline rieseguire manualmente la pipeline.

Le pipeline con Amazon S3, Amazon ECR o sorgente non vengono più avviate automaticamente CodeCommit

Problema

Dopo aver apportato una modifica alle impostazioni di configurazione per un'azione che utilizza regole di evento (EventBridgeo CloudWatch Eventi) per il rilevamento delle modifiche, la console potrebbe non rilevare una modifica in cui gli identificatori dei trigger di origine sono simili e hanno caratteri iniziali identici. Poiché la nuova regola di evento non viene creata dalla console, la pipeline non viene più avviata automaticamente.

Un esempio di modifica minore alla fine del nome del parametro per CodeCommit potrebbe essere la modifica del nome della CodeCommit filiale MyTestBranch-1 inMyTestBranch-2. Poiché la modifica è alla fine del nome del ramo, la regola dell'evento per l'azione di origine potrebbe non aggiornare o creare una regola per le nuove impostazioni di origine.

Questo vale per le azioni di origine che utilizzano eventi CWE per il rilevamento delle modifiche come segue:

Azione alla fonte Parametri/identificatori dei trigger (console)
Amazon ECR

Nome del repository

Tag immagine

Simple Storage Service (Amazon S3)

Bucket

Chiave oggetto S3

CodeCommit

Nome del repository

Nome della filiale

Possibili soluzioni.

Esegui una delle seguenti operazioni:

  • Modificate le impostazioni di CodeCommit/S3/ECR configurazione in modo da apportare modifiche alla parte iniziale del valore del parametro.

    Esempio: modifica il nome della filiale release-branch in2nd-release-branch. Evita di modificare la fine del nome, ad esempiorelease-branch-2.

  • Modificate le impostazioni di CodeCommit/S3/ECR configurazione per ogni pipeline.

    Esempio: modifica il nome della filiale myRepo/myBranch in. myDeployRepo/myDeployBranch Evita di modificare la fine del nome, ad esempiomyRepo/myBranch2.

  • Invece della console, utilizzate la CLI o CloudFormation per creare e aggiornare le regole degli eventi di rilevamento delle modifiche. Per istruzioni sulla creazione di regole di evento per un'azione sorgente di S3, consulta. Connessione ad Amazon S3: azioni di origine che utilizzano e EventBridge AWS CloudTrail Per istruzioni sulla creazione di regole di evento per un'azione Amazon ECR, consulta. Azioni e risorse di origine di Amazon ECR EventBridge Per istruzioni sulla creazione di regole di evento per un' CodeCommit azione, consultaCodeCommit azioni di origine e EventBridge.

Dopo aver modificato la configurazione dell'azione nella console, accetta le risorse aggiornate per il rilevamento delle modifiche create dalla console.

Errore di connessione durante la connessione a GitHub: «Si è verificato un problema, assicurati che i cookie siano abilitati nel browser» o «Il proprietario dell'organizzazione deve installare l' GitHub app»

Problema

Per creare la connessione per un'azione GitHub sorgente in CodePipeline, devi essere il proprietario GitHub dell'organizzazione. Per i repository che non appartengono a un'organizzazione, è necessario esserne il proprietario. Quando una connessione viene creata da qualcuno diverso dal proprietario dell'organizzazione, viene creata una richiesta per il proprietario dell'organizzazione e viene visualizzato uno dei seguenti errori:

A problem occurred, make sure cookies are enabled in your browser (Si è verificato un problema, assicurarsi che i cookie siano abilitati nel browser)

O

Il proprietario dell'organizzazione deve installare l' GitHub app

Possibili correzioni: per i repository di un' GitHuborganizzazione, il proprietario dell'organizzazione deve creare la connessione al GitHub repository. Per i repository che non appartengono a un'organizzazione, è necessario esserne il proprietario.

Le pipeline con modalità di esecuzione modificata in modalità QUEUED o PARALLEL hanno esito negativo quando viene raggiunto il limite di esecuzione

Problema: il numero massimo di esecuzioni simultanee per una pipeline in modalità QUEUED è di 50 esecuzioni. Quando viene raggiunto questo limite, la pipeline fallisce senza un messaggio di stato.

Possibili correzioni: quando modificate la definizione della pipeline per la modalità di esecuzione, effettuate la modifica separatamente dalle altre azioni di modifica.

Per ulteriori informazioni sulla modalità di esecuzione QUEUED o PARALLEL, vedere. CodePipeline concetti

Le pipeline in modalità PARALLELA hanno una definizione di pipeline obsoleta se modificate quando si passa alla modalità QUEUED o SUPERSEDED

Problema: per le pipeline in modalità parallela, quando si modifica la modalità di esecuzione della pipeline su QUEUED o SUPERSEDED, la definizione della pipeline per la modalità PARALLEL non verrà aggiornata. La definizione di pipeline aggiornata durante l'aggiornamento della modalità PARALLEL non viene utilizzata in modalità SUPERSEDED o QUEUED.

Possibili correzioni: per le pipeline in modalità parallela, quando modificate la modalità di esecuzione della pipeline su QUEUED o SUPERSEDED, evitate di aggiornare contemporaneamente la definizione della pipeline.

Per ulteriori informazioni sulla modalità di esecuzione QUEUED o PARALLEL, consultate. CodePipeline concetti

Le pipeline modificate dalla modalità PARALLELA mostreranno una modalità di esecuzione precedente

Problema: per le pipeline in modalità PARALLELA, quando si modifica la modalità di esecuzione della pipeline su QUEUED o SUPERSEDED, lo stato della pipeline non visualizzerà lo stato aggiornato come PARALLEL. Se lo stato della pipeline passa da PARALLEL a QUEUED o SUPERSEDED, lo stato della pipeline in modalità SUPERSEDED o QUEUED sarà l'ultimo stato noto in una di queste modalità. Se la pipeline non è mai stata eseguita in quella modalità prima, lo stato sarà vuoto.

Possibili correzioni: per le pipeline in modalità parallela, quando modificate la modalità di esecuzione della pipeline su QUEUED o SUPERSEDED, notate che la visualizzazione della modalità di esecuzione non mostrerà lo stato PARALLEL.

Per ulteriori informazioni sulla modalità di esecuzione QUEUED o PARALLEL, consultate. CodePipeline concetti

Le pipeline con connessioni che utilizzano il filtro dei trigger in base ai percorsi dei file potrebbero non iniziare alla creazione del ramo

Descrizione: per le pipeline con azioni di origine che utilizzano connessioni, come un'azione di BitBucket origine, puoi impostare un trigger con una configurazione Git che ti consenta di filtrare in base ai percorsi dei file per avviare la pipeline. In alcuni casi, per le pipeline con trigger filtrati in base ai percorsi dei file, la pipeline potrebbe non avviarsi quando viene creato per la prima volta un ramo con un filtro del percorso dei file, poiché ciò non consente alla CodeConnections connessione di risolvere i file modificati. Quando la configurazione Git per il trigger è impostata per filtrare i percorsi dei file, la pipeline non si avvia quando il ramo con il filtro è appena stato creato nel repository di origine. Per ulteriori informazioni sul filtraggio sui percorsi dei file, consulta. Aggiungi trigger con tipi di eventi push o pull request di codice

Risultato: ad esempio, le pipeline CodePipeline che hanno un filtro del percorso del file su un ramo «B» non verranno attivate quando viene creato il ramo «B». Se non sono presenti filtri per il percorso dei file, la pipeline verrà comunque avviata.

Le pipeline con connessioni che utilizzano il filtraggio dei trigger in base ai percorsi dei file potrebbero non avviarsi quando viene raggiunto il limite di file

Descrizione: per le pipeline con azioni di origine che utilizzano connessioni, come un'azione di BitBucket origine, puoi impostare un trigger con una configurazione Git che ti consenta di filtrare in base ai percorsi dei file per avviare la pipeline. CodePipeline recupera fino ai primi 100 file; pertanto, quando la configurazione Git per il trigger è impostata per filtrare i percorsi dei file, la pipeline potrebbe non avviarsi se sono presenti più di 100 file. Per ulteriori informazioni sul filtraggio sui percorsi dei file, consulta. Aggiungi trigger con tipi di eventi push o pull request di codice

Risultato: ad esempio, se un file diff contiene 150 file, CodePipeline esamina i primi 100 file (in nessun ordine particolare) per confrontarli con il filtro del percorso del file specificato. Se il file che corrisponde al filtro del percorso del file non è tra i 100 file recuperati da CodePipeline, la pipeline non verrà richiamata.

CodeCommit oppure le revisioni dei sorgenti S3 in modalità PARALLELA potrebbero non corrispondere all'evento EventBridge

Descrizione: per le esecuzioni di pipeline in modalità PARALLELA, un'esecuzione potrebbe iniziare con la modifica più recente, come il commit del CodeCommit repository, che potrebbe non essere la stessa della modifica dell'evento. EventBridge In alcuni casi, dove potrebbe trascorrere una frazione di secondo tra commit o tag di immagine che avviano la pipeline, quando CodePipeline riceve l'evento e avvia l'esecuzione, è stato inviato un altro commit o tag immagine CodePipeline (ad esempio, l' CodeCommit azione) clonerà il commit HEAD in quel momento.

Risultato: per le pipeline in modalità PARALLELA con un'origine CodeCommit o S3, indipendentemente dalla modifica che ha attivato l'esecuzione della pipeline, l'azione source clonerà sempre l'HEAD nel momento in cui viene avviato. Ad esempio, per una pipeline in modalità PARALLELA, viene inviato un commit, che avvia la pipeline per l'esecuzione 1 e la seconda esecuzione della pipeline utilizza il secondo commit.

L'azione di distribuzione EC2 ha esito negativo e viene visualizzato il messaggio di errore No such file

Descrizione: dopo che l'azione di distribuzione EC2 ha decompresso gli artefatti nella directory di destinazione sulle istanze, l'azione esegue lo script. Se lo script si trova nella directory di destinazione ma l'azione non è in grado di eseguire lo script, l'azione ha esito negativo su quell'istanza e le istanze rimanenti non riescono a eseguire la distribuzione.

Un errore simile ai seguenti messaggi di errore viene visualizzato nei registri di una distribuzione in cui si trova la directory di destinazione /home/ec2-user/deploy/ e il percorso del repository di origine. myRepo/postScript.sh

  • Instance i-0145a2d3f3EXAMPLE is FAILED on event AFTER_DEPLOY, message: ----------ERROR------- chmod: cannot access '/home/ec2-user/deploy/myRepo/postScript.sh': No such file or directory /var/lib/<path>/_script.sh: line 2: /home/ec2-user/deploy/myRepo/postScript.sh: No such file or directory failed to run commands: exit status 127
  • Executing commands on instances i-0145a2d3f3EXAMPLE, SSM command id <ID>, commands: chmod u+x /home/ec2-user/deploy/script.sh ----------ERROR-------: No such file or directory

Risultato: l'azione di distribuzione non riesce nella pipeline.

Possibili correzioni: per risolvere il problema, procedi nel seguente modo.

  1. Visualizza i log per verificare quale istanza ha causato il fallimento dello script.

  2. Cambia directory (cd) nella directory di destinazione sulla tua istanza. Prova a eseguire lo script sull'istanza.

  3. Nel tuo repository di origine, modifica il file di script per rimuovere eventuali commenti o comandi che potrebbero causare il problema.

L'azione EKS Deploy ha esito negativo e viene visualizzato un messaggio di errore irraggiungibile dal cluster

Descrizione: dopo l'esecuzione dell'azione di distribuzione EKS, l'azione ha esito negativo e viene visualizzato un messaggio di errore. cluster unreachable Il messaggio mostra un problema di accesso al cluster a causa di autorizzazioni mancanti. In base al tipo di file (diagramma Helm o file manifest di Kubernetes), il messaggio di errore viene visualizzato come segue.

  • Per un'azione di distribuzione EKS che utilizza un diagramma Helm, viene visualizzato un errore simile al seguente messaggio di errore.

    error message: helm upgrade --install my-release test-chart --wait Error: Kubernetes cluster unreachable: the server has asked for the client to provide credentials
  • Per un'azione di distribuzione EKS che utilizza i file manifest di Kubernetes, viene visualizzato un errore simile al seguente messaggio di errore.

    kubectl apply -f deployment.yaml Error: error validating "deployment.yaml": error validating data: failed to download openapi: the server has asked for the client to provide credentials

Risultato: l'azione di distribuzione non riesce nella pipeline.

Possibili correzioni: se si utilizza un ruolo esistente, il ruolo del CodePipeline servizio deve essere aggiornato con le autorizzazioni necessarie per utilizzare l'azione di distribuzione EKS. Inoltre, per consentire al ruolo di CodePipeline servizio di accedere al cluster, è necessario aggiungere una voce di accesso al cluster e specificare il ruolo di servizio per la voce di accesso.

  1. Verifica che il ruolo CodePipeline di servizio disponga delle autorizzazioni richieste per l'azione di distribuzione EKS. Per il riferimento alle autorizzazioni, vedere. Ruolo del servizio, policy, autorizzazioni

  2. Aggiungi una voce di accesso al tuo cluster e specifica il ruolo del CodePipeline servizio per l'accesso. Per un esempio, consulta Fase 4: Creare una voce di accesso per il ruolo di servizio CodePipeline.

La pipeline non si attiva per tutti i rami quando più azioni di origine fanno riferimento allo stesso repository

Problema: una pipeline ha più azioni di origine che utilizzano connessioni (come un Bitbucket o una GitLab connessione) GitHub, con ogni azione di origine che punta a un ramo diverso dello stesso repository. Solo uno dei rami attiva la pipeline quando si inviano modifiche. L'abbonamento webhook della connessione è registrato per la combinazione di pipeline e repository, non per ramo. Di conseguenza, non sono supportate più azioni di origine destinate a diversi rami dello stesso repository all'interno di una singola pipeline.

Possibili correzioni: utilizzate una pipeline separata per ogni ramo che desiderate attivare in modo indipendente.

Hai bisogno di assistenza per un problema diverso?

Prova a queste altre risorse: