aws codebuild tutorial
Strumento AWS CodeBuild DevOps:
miglior software per copiare dvd su disco rigido
Nel Parte 1 degli strumenti AWS DevOps , abbiamo visto come Servizio CodeCommit è stato utilizzato per archiviare il codice sorgente in un servizio di controllo della versione online sicuro, che è un prerequisito per qualsiasi implementazione DevOps.
Nel Parte 2 della serie , impareremo di più su come compilare il codice dal repository CodeCommit sul cloud utilizzando il servizio CodeBuild e l'utilità di compilazione ANT o Maven.
Letture consigliate => Absolute DevOps Training Series
Ancora più importante, non è necessario fornire alcun server di compilazione. Gli artefatti prodotti vengono quindi archiviati nel bucket AWS S3, che è un semplice servizio di archiviazione per l'archiviazione e il recupero di qualsiasi quantità di dati su Internet. Queste 2 attività in entrambi i tutorial fanno parte dell'integrazione continua.
In questo tutorial vedremo anche come Jenkins può essere integrato con CodeBuild.
Pre-requisito:
- Account con AWS preferibilmente un livello gratuito.
- Connessione internet buona e veloce.
- Regione AWS utilizzata: Asia Pacifico (Singapore).
Nota: Se hai utilizzato la regione AWS (Mumbai) per il servizio CodeCommit, questa regione non è supportata in CodeBuild. È necessario utilizzare la regione appropriata supportata e quindi la regione di Singapore viene utilizzata qui.
Cosa imparerai:
- Processo di compilazione in CodeBuild
- Crea progetto di costruzione
- Integrazione di Jenkins con AWS CodeBuild
- Sommario
- Lettura consigliata
Processo di compilazione in CodeBuild
Di seguito è riportato il processo seguito nella compilazione durante l'utilizzo del servizio CodeBuild:
- Il codice sorgente viene recuperato dal repository CodeCommit. Il codice sorgente può anche essere archiviato in GitHub o anche in un bucket S3.
- Il servizio CodeBuild si basa su un file chiamato buildspec.yml che contiene alcuni comandi da eseguire durante le fasi di compilazione come Installa, Pre-build, Build e Post-Build. Questo file deve essere nella ROOT della cartella del progetto e deve essere salvato nel repository.
- Se nel caso in cui non si desidera utilizzare il file buildspec.yml per eseguire la compilazione si possono utilizzare direttamente anche i comandi di maven.
- Infine, gli artefatti generati come il file J2EE JAR / WAR / EAR vengono archiviati nel bucket S3.
- Le notifiche che utilizzano AWS Simple Notification Service (SNS) possono anche essere configurate per inviare tramite posta elettronica i risultati della build agli utenti interessati.
Qui vedremo come utilizzare il repository CodeCommit (fare riferimento alla parte 1) e il comando maven per creare il nostro progetto e archiviare l'artefatto nel bucket S3.
Crea progetto di costruzione
Accedi ad AWS e avvia il servizio CodeBuild. Fare clic per creare un nuovo progetto Build.
Immettere i dettagli come segue:
Nome del progetto: AWS-HelloWorld
Fornitore di origine: AWS CodeCommit
come passare un array alla funzione in java
Repository: AWS-HelloWorld
Sistema operativo: Ubuntu
Runtime: Giava
Versione runtime: openjdk-8
Specifiche di costruzione: Inserisci i comandi di compilazione
Comandi di compilazione: mvn installazione pulita
File di output: Target / AWS-HelloWorld-1.0.0.war (questo è in un formato di Artifact ID-Version preso dal file POM).
Artefatti: Dove mettere gli artefatti da questo progetto di compilazione.
Genere: Amazon S3
Nome: HWJavaWebTarget (questa sarà la cartella all'interno del bucket).
Nome del secchio: hwcodebuildbucket (Il bucket deve essere creato inizialmente prima di eseguire la build e deve essere in minuscolo come da convenzioni).
I seguenti 3 screenshot provengono da un unico modulo per configurare il progetto di compilazione:
Clic Continua e poi Salva. La build può ora essere attivata facendo clic su Inizia a costruire pulsante.
Fare di nuovo clic su Inizia a costruire per visualizzare lo stato di avanzamento dell'esecuzione.
La build è ora completata con successo e gli artefatti vengono caricati nel bucket S3.
Vista della benna S3
domande dell'intervista all'help desk di livello 1
Il file WAR può ora essere utilizzato per la distribuzione sui server delle applicazioni appropriati.
Integrazione di Jenkins con AWS CodeBuild
Come abbiamo visto nel tutorial # 1 di questa serie su come Jenkins è stato configurato con il repository CodeCommit per abilitare l'attività di integrazione continua. Quando il repository di controllo della versione è configurato, è ora possibile attivare una build integrando CodeBuild con lo stesso lavoro di compilazione Jenkins.
Il plug-in AWS CodeBuild per Jenkins deve essere installato per l'integrazione. Puoi scaricarlo e installarlo da Qui .
Usa Jenkins => Gestisci plugin per installare il plugin.
Seleziona AWS CodeBuild come ambiente di compilazione e seleziona il progetto CodeBuild appropriato configurato in AWS come mostrato di seguito. Anche le chiavi di accesso dell'utente IAM e le chiavi segrete dovranno essere inserite come parte della configurazione.
Il punto chiave che deve essere ricordato qui è che la build non è stata attivata negli ambienti on-premise ma è stata eseguita nel cloud. Quindi non è necessario eseguire il provisioning di alcun server di compilazione.
Sommario
Attraverso questo tutorial, siamo venuti a sapere come utilizzare il repository CodeCommit per estrarre il codice ed eseguire una build Maven utilizzando il servizio CodeBuild.
La build può essere attivata anche da Jenkins. L'artefatto generato, che è principalmente un file WAR, viene quindi archiviato nel bucket AWS S3.
Nel nostro prossimo tutorial, vedremo come utilizzare il file WAR dal bucket S3 per distribuire il server delle applicazioni Tomcat utilizzando il servizio AWS CodeDeploy.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Tutorial approfonditi su Eclipse per principianti
- Uso di Maven Build Automation Tool e Maven Project Setup for Selenium - Selenium Tutorial # 24
- Tutorial SVN: gestione del codice sorgente mediante Subversion
- Tutorial SVN tartaruga: revisioni nel repository di codice
- I migliori strumenti AWS DevOps per la creazione e la distribuzione nel cloud
- Tutorial AWS Elastic Beanstalk per la distribuzione di applicazioni Web .NET
- Tutorial di AWS CodeCommit per l'implementazione di DevOps nel cloud
- Crea un'applicazione a pagina singola utilizzando AngularJS (tutorial con esempio)