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à.
Tutorial: creare una semplice pipeline (CodeCommit repository)
In questo tutorial, lo usi CodePipeline per distribuire il codice mantenuto in un CodeCommit repository su una singola istanza Amazon EC2. La pipeline viene attivata quando si invia una modifica al repository. CodeCommit La pipeline distribuisce le modifiche su un'istanza Amazon EC2 utilizzando come servizio di distribuzione. CodeDeploy
Importante
Come parte della creazione di una pipeline, un bucket di artefatti S3 fornito dal cliente verrà utilizzato da for artifact. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3). Se il bucket di artefatti S3 si trova in un account diverso dall'account della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di persone sicure e affidabili. Account AWS
La pipeline è composta da due fasi:
-
Una fase sorgente (Source) per la tua azione sorgente. CodeCommit
-
Una fase di distribuzione (Deploy) per l' CodeDeploy azione di distribuzione.
Il modo più semplice per iniziare AWS CodePipeline è utilizzare la procedura guidata Create Pipeline nella console. CodePipeline
Nota
Prima di iniziare, assicurati di aver configurato il tuo client Git con cui lavorare. CodeCommit Per istruzioni, consulta Configurazione di CodeCommit.
Passaggio 1: crea un CodeCommit repository
Innanzitutto, crei un repository in. CodeCommit La pipeline riceve il codice sorgente da questo repository quando viene eseguita. Si crea anche un repository locale in cui conservare e aggiornare il codice prima di inviarlo al CodeCommit repository.
Per creare un repository CodeCommit
-
Apri la CodeCommit console all'indirizzo. https://console.aws.amazon.com/codecommit/
-
Nel selettore di regione, scegli Regione AWS dove vuoi creare il repository e la pipeline. Per ulteriori informazioni, consulta Regioni AWS ed endpoint.
-
Nella pagina Repositories (Repository), scegli Create repository (Crea repository).
-
Nella pagina Create repository (Crea repository), in Repository name (Nome repository), immetti un nome per il repository (ad esempio
MyDemoRepo). -
Scegli Crea.
Nota
I passaggi rimanenti di questo tutorial si riferiscono MyDemoRepo al nome del repository. CodeCommit Se scegli un nome differente, assicurati di utilizzarlo in tutto il tutorial.
Per configurare un repository locale
In questa fase, configurerai un repository locale per connetterti al repository CodeCommit remoto.
Nota
Non è necessario configurare un repository locale. È inoltre possibile utilizzare la console per caricare i file come descritto inPassaggio 2: aggiungi un codice di esempio al tuo CodeCommit repository.
-
Con il nuovo repository aperto nella console, scegli Clone URL (Clona URL ) nella parte superiore destra della pagina, quindi seleziona Clone SSH (Clona SSH). L'indirizzo per clonare il repository Git viene copiato negli Appunti.
-
Nel terminale o nella riga di comando, passare a una directory locale in cui si desidera archiviare il repository locale. In questo tutorial, utilizziamo
/tmp. -
Esegui il comando seguente per clonare il repository, sostituendo l'indirizzo SSH con quello copiato nella fase precedente. Questo comando crea una directory denominata
MyDemoRepo. Copia un'applicazione di esempio in questa directory.git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/MyDemoRepo
Passaggio 2: aggiungi un codice di esempio al tuo CodeCommit repository
In questo passaggio, scarichi il codice per un'applicazione di esempio creata per una procedura dettagliata di CodeDeploy esempio e lo aggiungi al tuo CodeCommit repository.
-
Quindi, scaricare un esempio e salvarlo in una cartella o directory sul computer locale.
-
Scegliere una delle seguenti opzioni. Scegli
SampleApp_Linux.zipse vuoi seguire i passaggi di questo tutorial per le istanze Linux.-
Se desideri eseguire la distribuzione su istanze Amazon Linux utilizzando CodeDeploy, scarica l'applicazione di esempio qui: _. SampleApp Linux.zip
-
Se desideri eseguire la distribuzione su istanze Windows Server utilizzando CodeDeploy, scarica l'applicazione di esempio qui: _. SampleApp Windows.zip
L'applicazione di esempio contiene i seguenti file per la distribuzione con: CodeDeploy
-
appspec.yml— Il file delle specifiche dell'applicazione (AppSpecfile) è un file in formatoYAML utilizzato da CodeDeploy per gestire una distribuzione. Per ulteriori informazioni sul AppSpec file, vedere CodeDeploy AppSpec Riferimento ai file nella Guida per l'utente. AWS CodeDeploy -
index.html— Il file di indice contiene la home page dell'applicazione di esempio distribuita. -
LICENSE.txt— Il file di licenza contiene le informazioni sulla licenza per l'applicazione di esempio. -
File per script: l'applicazione di esempio utilizza gli script per scrivere file di testo in una posizione dell'istanza. Viene scritto un file per ciascuno dei diversi eventi del ciclo di vita della CodeDeploy distribuzione come segue:
-
scriptscartella (solo esempio per Linux): la cartella contiene i seguenti script di shell per installare le dipendenze e avviare e arrestare l'applicazione di esempio per la distribuzione automatica:,, e.install_dependenciesstart_serverstop_server -
(solo esempio per Windows)
before-install.bat: si tratta di uno script batch per l'evento del ciclo di vita dellaBeforeInstalldistribuzione, che verrà eseguito per rimuovere i vecchi file scritti durante le precedenti distribuzioni di questo esempio e creare una posizione sull'istanza in cui scrivere i nuovi file.
-
-
-
Scarica il file compresso.
-
-
Decomprimi i file da SampleApp _ Linux.zip nella directory locale creata in precedenza (ad esempio, o).
/tmp/MyDemoRepoc:\temp\MyDemoRepoAssicurati di inserire i file direttamente nel repository locale. Non includere una cartella
SampleApp_Linux. Sul tuo computer Linux, macOS o Unix locale, ad esempio, la gerarchia di directory e file dovrebbe assomigliare a questa:/tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server -
Per caricare i file nel tuo repository, usa uno dei seguenti metodi.
-
Per utilizzare la CodeCommit console per caricare i file:
-
Apri la CodeCommit console e scegli il tuo repository dall'elenco dei repository.
-
Seleziona Add file (Aggiungi file), quindi scegli Upload file (Carica file).
-
Seleziona Choose file (Scegli file) e vai al file. Per aggiungere un file in una cartella, scegli Crea file e inserisci il nome della cartella con il nome del file, ad esempio.
scripts/install_dependenciesIncolla il contenuto del file nel nuovo file.Conferma la modifica inserendo il tuo nome utente e indirizzo e-mail.
Scegliere Commit changes (Applica modifiche).
-
Ripetere questo passaggio per ogni file.
Il contenuto del tuo repository dovrebbe assomigliare a questo:
│-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server
-
-
Per usare i comandi git per caricare i tuoi file:
-
Cambiare le directory nel repository locale:
(For Linux, macOS, or Unix)cd /tmp/MyDemoRepo(For Windows)cd c:\temp\MyDemoRepo -
Esegui il comando seguente per posizionare tutti i file contemporaneamente:
git add -A -
Esegui il comando seguente per eseguire il commit dei file con un messaggio di commit:
git commit -m "Add sample application files" -
Esegui il comando seguente per eseguire il push dei file dal repository locale al repository CodeCommit:
git push
-
-
-
I file che hai scaricato e aggiunto al tuo repository locale sono stati ora aggiunti al
mainramo del tuo CodeCommitMyDemoReporepository e sono pronti per essere inclusi in una pipeline.
Passaggio 3: creare un'istanza Amazon EC2 Linux e installare l'agente CodeDeploy
In questo passaggio, crei l'istanza Amazon EC2 in cui distribuire un'applicazione di esempio. Come parte di questo processo, crea un ruolo di istanza che consenta l'installazione e la gestione dell' CodeDeploy agente sull'istanza. L' CodeDeploy agente è un pacchetto software che consente di utilizzare un'istanza nelle CodeDeploy distribuzioni. È inoltre possibile allegare politiche che consentono all'istanza di recuperare i file utilizzati dall' CodeDeploy agente per distribuire l'applicazione e di consentire all'istanza di essere gestita da SSM.
Per creare un ruolo dell'istanza
-
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Dal pannello di controllo della console, scegli Roles (Ruoli).
-
Scegliere Crea ruolo.
-
In Seleziona il tipo di entità attendibile, seleziona. Servizio AWS In Scegli un caso d'uso, seleziona EC2. In Select your use case (Seleziona il tuo caso d'uso) selezionare EC2. Scegli Successivo: autorizzazioni.
-
Cerca e seleziona la policy denominata
AmazonEC2RoleforAWSCodeDeploy. -
Cerca e seleziona la politica denominata
AmazonSSMManagedInstanceCore. Scegliere Next: Tags (Successivo: Tag). -
Scegliere Next:Review (Successivo: Rivedi). Immettere un nome per il ruolo (ad esempio
EC2InstanceRole).Nota
Prendere nota del nome del ruolo per la fase successiva. È possibile scegliere questo ruolo quando si crea l'istanza.
Scegliere Crea ruolo.
Per avviare un'istanza
Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nella barra di navigazione laterale, scegli Istanze e seleziona Avvia istanze nella parte superiore della pagina.
-
In Nome, inserisci
MyCodePipelineDemo. Questo assegna all'istanza un tag Key ofNamee un tag Value of.MyCodePipelineDemoSuccessivamente, si crea un' CodeDeploy applicazione che distribuisce l'applicazione di esempio in questa istanza. CodeDeployseleziona le istanze da distribuire in base ai tag. -
In Application and OS Images (Amazon Machine Image), individua l'opzione Amazon Linux AMI con il AWS logo e assicurati che sia selezionata. (Questa AMI è descritta come Amazon Linux 2 AMI (HVM) ed è etichettata come «idonea al livello gratuito».)
-
In Tipo di istanza, scegli il
t2.microtipo idoneo al livello gratuito come configurazione hardware per la tua istanza. -
In Coppia di chiavi (accesso), scegli una coppia di chiavi o creane una.
Puoi anche scegliere Procedi senza una coppia di chiavi.
Nota
Ai fini di questo tutorial, è possibile procedere senza una coppia di chiavi. Per utilizzare SSH per connettersi alle istanze, creare o utilizzare una coppia di chiavi.
-
In Impostazioni di rete, procedi come segue.
In IP Auto-assign pubblico, assicurati che lo stato sia Abilita.
Per il gruppo di sicurezza creato, scegli HTTP, quindi in Tipo di origine, scegli Il mio IP.
-
Espandi Advanced details (Dettagli avanzati). Nel profilo dell'istanza IAM, scegli il ruolo IAM che hai creato nella procedura precedente (ad esempio,
EC2InstanceRole). -
In Riepilogo, in Numero di istanze, inserisci
1. -
Scegliere Launch Instance (Avvia istanza).
-
È possibile visualizzare lo stato dell'avvio nella pagina Instances (Istanze). Quando avvii un'istanza, il suo stato iniziale è
pending. Una volta avviata l'istanza, il suo stato passa arunninge riceve un nome DNS pubblico. (Se la colonna DNS pubblico non è visualizzata, scegli l'Show/Hideicona, quindi seleziona DNS pubblico.)
Passaggio 4: creare un'applicazione in CodeDeploy
In CodeDeploy, un'applicazione è una risorsa che contiene l'applicazione software che si desidera distribuire. Successivamente, puoi utilizzare questa applicazione CodePipeline per automatizzare le distribuzioni dell'applicazione di esempio sulla tua istanza Amazon EC2.
Innanzitutto, crei un ruolo che consenta di CodeDeploy eseguire le distribuzioni. Quindi, crea un'applicazione CodeDeploy .
Per creare un ruolo di CodeDeploy servizio
-
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Dal pannello di controllo della console, scegli Roles (Ruoli).
-
Scegliere Crea ruolo.
-
In Seleziona entità attendibile, scegli Servizio AWS. In Use case (Caso d'uso), scegli CodeDeploy. Scegli CodeDeploy tra le opzioni elencate. Scegli Avanti. La policy gestita
AWSCodeDeployRoleè già collegata al ruolo. -
Scegli Avanti.
-
Immetti un nome per il ruolo, ad esempio
CodeDeployRole, quindi seleziona Create role (Crea ruolo).
Per creare un'applicazione in CodeDeploy
-
Apri la CodeDeploy console all'indirizzo https://console.aws.amazon.com/codedeploy
. -
Se la pagina Applicazioni non viene visualizzata, nel menu, scegli Applicazioni.
-
Scegli Crea applicazione.
-
In Application name (Nome applicazione), immettere
MyDemoApplication. -
In Compute Platform, scegli EC2/On-premises.
-
Scegli Crea applicazione.
Per creare un gruppo di distribuzione in CodeDeploy
Un gruppo di distribuzione è una risorsa che definisce le impostazioni correlate alla distribuzione, come le istanze a cui distribuire e la velocità di distribuzione.
-
Nella pagina in cui è visualizzata l'applicazione, scegliere Create deployment group (Crea gruppo di distribuzione).
-
In Deployment group name (Nome del gruppo di distribuzione), immettere
MyDemoDeploymentGroup. -
Nel ruolo di servizio, scegli l'ARN del ruolo di servizio che hai creato in precedenza (ad esempio,
).arn:aws:iam::account_ID:role/CodeDeployRole -
In Tipo di distribuzione, scegli. In-place
-
In Environment configuration (Configurazione dell'ambiente), scegliere Amazon EC2 Instances (Istanze Amazon EC2). Nel campo Chiave, inserisci
Name. Nel campo Valore, inserisci il nome che hai usato per etichettare l'istanza (ad esempio,MyCodePipelineDemo). -
In Configurazione dell'agente con AWS Systems Manager, scegli Ora e pianifica gli aggiornamenti. Questo installa l'agente sull'istanza. L'istanza Linux è già configurata con l'agente SSM e verrà ora aggiornata con l' CodeDeploy agente.
-
In Deployment configuration (Configurazione della distribuzione), scegliere
CodeDeployDefault.OneAtaTime. -
In Load Balancer, assicurati che l'opzione Abilita bilanciamento del carico non sia selezionata. Non è necessario configurare un sistema di bilanciamento del carico o scegliere un gruppo di destinazione per questo esempio.
-
Scegliere Create deployment group (Crea gruppo di distribuzione).
Passaggio 5: crea la tua prima pipeline in CodePipeline
È ora possibile creare ed eseguire la prima pipeline. In questo passaggio, crei una pipeline che viene eseguita automaticamente quando il codice viene inviato al tuo repository. CodeCommit
Per creare una pipeline CodePipeline
Accedi a Console di gestione AWS e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home
. Apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/
. -
Nella pagina Welcome (Benvenuto), pagina Getting started (Nozioni di base) o pagina Pipelines (Pipeline), scegliere Create pipeline (Crea pipeline).
-
Nella pagina Passaggio 1: scegli l'opzione di creazione, in Opzioni di creazione, scegli l'opzione Crea pipeline personalizzata. Scegli Avanti.
-
Nel passaggio 2: scegli le impostazioni della pipeline, in Nome della pipeline, inserisci.
MyFirstPipeline -
CodePipeline fornisce pipeline di tipo V1 e V2, che si differenziano per caratteristiche e prezzo. Il tipo V2 è l’unico tipo che puoi scegliere nella console. Per ulteriori informazioni, consulta tipi di pipeline. Per informazioni sui prezzi di CodePipeline, vedi Prezzi. https://aws.amazon.com/codepipeline/pricing/
-
In Ruolo di servizio, scegli Nuovo ruolo di servizio CodePipeline per consentire la creazione di un ruolo di servizio in IAM.
-
Lasciare i valori predefiniti delle impostazioni in Advanced settings (Impostazioni avanzate), quindi scegliere Next (Successivo).
-
Nel passaggio 3: Aggiungi la fase di origine, in Provider di origine, scegli CodeCommit. In Nome del repository, scegli il nome del CodeCommit repository in cui hai creato. Passaggio 1: crea un CodeCommit repository In Branch name (Nome ramo), scegliere
main, quindi selezionare Next step (Fase successiva).Dopo aver selezionato il nome e il ramo del repository, un messaggio visualizza la regola Amazon CloudWatch Events da creare per questa pipeline.
In Change detection options (Opzioni di rilevamento delle modifiche), lasciare le impostazioni predefinite. Ciò consente di CodePipeline utilizzare Amazon CloudWatch Events per rilevare le modifiche nel repository di origine.
Scegli Avanti.
-
Nella fase 4: Aggiungi fase di compilazione, scegli Ignora fase di compilazione, quindi accetta il messaggio di avviso scegliendo nuovamente Ignora. Scegli Avanti.
Nota
In questo tutorial, viene distribuito codice che non richiede alcun servizio di compilazione, in modo da poter ignorare questa fase. Tuttavia, se il codice sorgente deve essere compilato prima di essere distribuito alle istanze, puoi configurare CodeBuild
in questa fase. -
Nel passaggio 5: Aggiungi fase di test, scegli Ignora fase di test, quindi accetta il messaggio di avviso scegliendo nuovamente Ignora.
Scegli Avanti.
-
Nel passaggio 6: Aggiungi la fase di distribuzione, in Deploy provider, scegli. CodeDeploy In Application name (Nome applicazione), scegliere
MyDemoApplication. In Deployment group (Gruppo di distribuzione), scegliereMyDemoDeploymentGroup, quindi Next step (Fase successiva). -
Nel passaggio 7: Rivedi, rivedi le informazioni, quindi scegli Crea pipeline.
-
La pipeline viene avviata dopo la creazione. Scarica il codice dal tuo CodeCommit repository e crea una CodeDeploy distribuzione nell'istanza EC2. Puoi visualizzare i messaggi di avanzamento, successo e fallimento mentre l' CodePipeline esempio distribuisce la pagina web sull'istanza Amazon EC2 nella distribuzione. CodeDeploy
Complimenti! Hai appena creato una semplice pipeline in. CodePipeline
Viene quindi eseguita la verifica dei risultati.
Per verificare che la pipeline è stata eseguita correttamente
-
Visualizzare l'avanzamento iniziale della pipeline. Lo stato di ciascuna fase cambia da No executions yet (Ancora nessun esecuzione) a In Progress (In corso) e quindi in Succeeded (Riuscito) o Failed (Non riuscito). L'esecuzione della pipeline richiede qualche minuto.
-
Dopo aver visualizzato Succeeded per lo stato della pipeline, nell'area di stato per la fase di distribuzione, scegli. CodeDeploy Si apre la console. CodeDeploy Se Succeeded non è visualizzato, vedereRisoluzione dei problemi CodePipeline.
-
Nella scheda Deployments (Distribuzioni), scegliere, l'ID della distribuzione. Nella pagina relativa alla distribuzione, in Deployment lifecycle events (Eventi del ciclo di vita di distribuzione), scegliere l'ID dell'istanza. Si apre la console EC2.
-
Nella scheda Description (Descrizione), in Public DNS (DNS pubblico), copiare l'indirizzo (ad esempio,
ec2-192-0-2-1.us-west-2.compute.amazonaws.com) e incollarlo nella barra degli indirizzi del browser Web.Viene visualizzata la pagina Web relativa all'applicazione di esempio scaricata e inserita nel repository. CodeCommit
Per ulteriori informazioni sulle fasi, sulle operazioni e sul funzionamento delle pipeline, consulta CodePipeline concetti.
Passaggio 6: modifica il codice nel tuo repository CodeCommit
La pipeline è configurata per essere eseguita ogni volta che modifiche di codice vengono apportate al repository CodeCommit. In questo passaggio, si apportano modifiche al file HTML che fa parte dell' CodeDeployapplicazione di esempio nel CodeCommit repository. Quando esegui il push di queste modifiche, la pipeline viene eseguita nuovamente e le modifiche apportate sono visibili all'indirizzo Web a cui hai effettuato l'accesso in precedenza.
-
Cambiare le directory nel repository locale:
(For Linux, macOS, or Unix)cd /tmp/MyDemoRepo(For Windows)cd c:\temp\MyDemoRepo -
Utilizzare un editor di testo per modificare il file
index.html:(For Linux or Unix)gedit index.html(For OS X)open –e index.html(For Windows)notepad index.html -
Rivedere il contenuto del file
index.htmlper modificare il colore di sfondo e parte del testo sulla pagina Web, quindi salvare il file.<!DOCTYPE html> <html> <head> <title>Updated Sample Deployment</title> <style> body { color: #000000; background-color: #CCFFCC; font-family: Arial, sans-serif; font-size:14px; } h1 { font-size: 250%; font-weight: normal; margin-bottom: 0; } h2 { font-size: 175%; font-weight: normal; margin-bottom: 0; } </style> </head> <body> <div align="center"><h1>Updated Sample Deployment</h1></div> <div align="center"><h2>This application was updated using CodePipeline, CodeCommit, and CodeDeploy.</h2></div> <div align="center"> <p>Learn more:</p> <p><a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/">CodePipeline User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codecommit/latest/userguide/">CodeCommit User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/">CodeDeploy User Guide</a></p> </div> </body> </html> -
Effettua il commit e invia le modifiche al tuo CodeCommit repository eseguendo i seguenti comandi, uno alla volta:
git commit -am "Updated sample application files"git push
Per verificare che la pipeline è stata eseguita correttamente
-
Visualizzare l'avanzamento iniziale della pipeline. Lo stato di ciascuna fase cambia da No executions yet (Ancora nessun esecuzione) a In Progress (In corso) e quindi in Succeeded (Riuscito) o Failed (Non riuscito). L'esecuzione della pipeline dovrebbe essere completata entro pochi minuti.
-
Dopo aver visualizzato Succeeded (Riuscito) per lo stato dell'operazione, aggiorna la pagina dimostrativa che hai consultato in precedenza nel browser.
Viene visualizzata la pagina Web aggiornata.
Fase 7: eliminazione delle risorse
Puoi utilizzare alcune delle risorse create in questo tutorial per altri tutorial in questa guida. Ad esempio, è possibile riutilizzare l' CodeDeploy applicazione e la distribuzione. Tuttavia, dopo aver completato questo ed eventuali altri tutorial, devi eliminare la pipeline e le risorse utilizzate, per evitare che ti venga addebitato un costo per l'utilizzo continuo di tali risorse. Innanzitutto, elimina la pipeline, quindi l' CodeDeploy applicazione e l'istanza Amazon EC2 associata e infine il repository. CodeCommit
Per eliminare le risorse utilizzate in questo tutorial
-
Per ripulire CodePipeline le tue risorse, segui le istruzioni in Eliminare una pipeline in. AWS CodePipeline
-
Per ripulire CodeDeploy le tue risorse, segui le istruzioni in Clean Up Deployment Walkthrough Resources.
-
Per eliminare il CodeCommit repository, segui le istruzioni in Eliminare un repository. CodeCommit
Fase 8: approfondimenti
Scopri di più su come funziona: CodePipeline
-
Per ulteriori informazioni sulle fasi, sulle operazioni e sul funzionamento delle pipeline, consulta CodePipeline concetti.
-
Per informazioni sulle azioni che puoi eseguire utilizzando CodePipeline, consultaIntegrazioni con tipi di CodePipeline azione.
-
Prova questo tutorial più avanzato, Tutorial: creazione di una pipeline a quattro fasi. Crea una pipeline a più fasi che include una fase che compila il codice prima che venga distribuito.