Come iniziare con AWS CI/CD Gasdotti

0
194
Shutterstock/Ribkhan

Se si sta attualmente lottando su sysadmin lato delle cose per mantenere tutti i vostri server aggiornato, potrebbe essere il momento di prendere un po ‘ del peso che ha sulle spalle e automatizzare il processo di consegna, con un continuo deployment pipeline.

Cosa CI/CD?

L’Integrazione continua, Continua la Distribuzione (CI/CD) è frequente (spesso giornaliera) aggiornamenti del codice, la costruzione e la sperimentazione di nuove versioni e implementazione di modifiche ai server di produzione, in modo rapido ed efficiente.

Molto vasta termine che racchiude in sé il nucleo di DevOps cultura—semplificando il flusso del nuovo codice di sviluppatori di cervello e sul vostro server. Di solito, CI/CD viene implementato con un toolkit chiamato un gasdotto, che è un insieme di strumenti che consente di automatizzare l’intero processo, dalla sorgente alla distribuzione.

Questo è ciò che AWS fornisce con il loro CodeSuite strumenti, e sono in un luogo particolarmente utile per la realizzazione di un gasdotto, come è solito essere in esecuzione il server di produzione su EC2, rendendo la fase di distribuzione molto più facile e ben integrati.

AWS è CodeSuite Strumenti

CodeSuite si compone di due diversi strumenti. Si inizia con CodeCommit, AWS è di origine gestito il servizio di controllo. E ‘un po’ ingombranti e meno ricco di funzionalità rispetto alla concorrenza, ma è abbastanza facile da impostare Git con più telecomandi che si potrebbe anche utilizzare se si intende utilizzare il resto della pipeline. CodeCommit ha un generoso gratis tier, quindi, probabilmente, non soggetti a molte spese per esso.

Poi viene CodeBuild, che prende il controllo del codice sorgente da CodeCommit (o GitHub/BitBucket) e si sviluppa dall’origine, l’esecuzione delle prove fornite nel processo. Questo utilizza un server EC2 per l’edilizia, che si deve pagare, mentre la costruzione è in esecuzione. Progetti complessi possono richiedere una potente macchina di fast costruisce.

Una volta che la costruzione è completa, l’applicazione è pronta per la distribuzione. Questa fase è gestita con CodeDeploy; si crea una distribuzione “gruppo”, che può contenere un numero qualsiasi di istanze EC2 o auto intera scala gruppi. Questo è dove AWS pipeline brilla davvero.

Con CodeDeploy, è possibile regolare con precisione la distribuzione è gestita—ci sono i preset per tutti in una volta, la metà del gruppo, del 10% ogni pochi minuti, e molti altri, che sono tutti progettati per minimizzare i tempi di inattività delle applicazioni a causa di errori imprevisti in fase di produzione. Avendo tutti i server di aggiornamento automatico è abbastanza piacevole, ma CodeDeploy può anche collegare il vostro sistema di bilanciamento del carico e ridurre il traffico di istanze in fase di aggiornamento. Combinato con un sfalsati strategia di implementazione di un numero minimo di sano padroni di casa, questo rende la produzione gli aggiornamenti stress.

Tutto questo è avvolto in una singola pipeline, che controlla la vostra fonte di controllo e innesca la pipeline per eseguire automaticamente ogni volta che si preme modifiche al ramo di rilascio, costruire, testare e implementare il codice su tutti i server.

Come Impostare una Pipeline

Innanzitutto, è necessario per ottenere il vostro codice in CodeCommit. Si consiglia di impostare CodeCommit separati per il rilascio remoto accanto alla vostra fonte primaria di controllo. Se si utilizza Github o BitBucket, è possibile connettersi direttamente al repository, invece, ma CodeCommit è interamente AWS soluzione e consente la gestione organizzativa di accesso al server degli aggiornamenti attraverso l’IAM console.

A quel punto, oltre al capo della CodePipeline console per iniziare. Fare clic su “Crea Pipeline,” e dare un nome e una descrizione.

Ogni fase della pipeline ha bisogno di qualche configurazione. Il primo è la fonte di stage, che si collega a CodeCommit, Github, e BitBucket. Gli ultimi due non richiede all’utente di collegare il vostro account su OAuth, ma CodeCommit si collega direttamente. Scegli il repository sei usin e il ramo per il rilascio. Se si utilizza CodeCommit secondaria e da remoto, probabilmente scegliere master qui, ma se si utilizza un provider di terze parti, è possibile impostare un separato ramo di rilascio.

Di seguito il ramo opzioni, è possibile trovare le impostazioni per come la pipeline viene eseguito automaticamente. Per impostazione predefinita, viene eseguito ogni volta che un nuovo commit viene spinto verso il ramo di rilascio specificato. Si può cambiare, ma questo è probabilmente ciò che si desidera.

Next up, la fase di creazione. CodePipeline supporta Jenkins e il costruito nel CodeBuild per la costruzione di codice. Se si sta già utilizzando Jenkins per la costruzione, è necessario installare il CodePipeline plugin per collegarlo al AWS. In caso contrario, è possibile impostare CodeBuild cliccando su “Crea Progetto” per aprire una finestra di dialogo.

CodeBuild ha un sacco di roba da configurare, in modo da poter leggere la nostra guida per l’impostazione per saperne di più. Una volta fatto, la finestra di dialogo dovrebbe chiudere e portare in CodePipeline di installazione.

La fase successiva è la distribuzione. CodePipeline supporta diverse opzioni di distribuzione; più in particolare, se si sta utilizzando AWS CloudFormation o Elastico Servizio del Contenitore, è possibile distribuire gli aggiornamenti direttamente a coloro. Generale per l’EC2 e Lambda distribuzioni, è necessario utilizzare CodeDeploy.

CodeDeploy richiede anche un sacco di configurazione, in modo da poter leggere la nostra guida completa per configurarlo. In breve, si crea una distribuzione gruppo, composto da una tua EC2 server, un sistema di Auto-Scaling gruppo, o le funzioni Lambda, e scegliere una configurazione di distribuzione tutti in una volta, metà alla volta, etc. CodeDeploy gestisce tutto il resto, ottimizzare il sistema di bilanciamento del carico, in modo che il traffico non è indirizzato ad aggiornare i server, e mantenendo sempre un certo numero di sano padroni di casa, in modo che il vostro servizio non va mai giù per gli aggiornamenti.

Una volta fatto questo, tornare a CodePipeline e selezionare la distribuzione impostato. Che dovrebbe segnare tutti i setup fatto, ed è possibile fare clic su avanti per rivedere le pipeline prima di procedere alla messa in moto.

Una volta creata la pipeline, viene eseguita la prima costruire automaticamente. Se si esegue in eventuali errori nel costruire il gasdotto si ferma e il server non essere aggiornato.

È possibile verificare la pipeline di aggiornamento di rilevamento facendo un nuovo commit nel controllo del codice sorgente. La tubazione deve iniziare di nuovo automaticamente, e il roll-out di modifiche al server se tutto sembra buono.

È possibile tornare indietro e modificare la pipeline in qualsiasi momento, o modificare il CodeBuild o CodeDeploy configurazioni. Se si sta eseguendo in errori di compilazione, è necessario assicurarsi che il vostro buildspec file di gestire tutto in modo corretto.