Come iniziare con CodeBuild, AWS Automatizzato del Servizio di compilazione

0
261

CodeBuild è riuscito a costruire un servizio, con funzioni analoghe a Jenkins, ma concentrata in particolare sull’automazione di edificio e di test. Può essere utilizzato in combinazione con CodePipeline per costruire un sistema completamente automatizzato, CI/CD Pipeline.

Impostazione di un Progetto di costruzione

Se si utilizza CodePipeline, si consiglia di creare CodeBuild progetto nella finestra di dialogo “Add Fase di creazione.” In questo modo verrà configurato per l’utilizzo CodePipeline come fonte. Se non si utilizza CodePipeline, è possibile creare il tuo progetto di costruzione dal CodeBuild Console di Gestione, e inserire manualmente i dati per il controllo del codice sorgente.

Comunque, la prima cosa che si configura è l’ambiente che il codice verrà integrato. Questo non dovrebbe importa per la maggior parte dei progetti, ma per quelli che lo fanno, è possibile specificare personalizzato Mobile immagini per avere il pieno controllo su di esso. In caso contrario, le impostazioni di default di Amazon Linux 2 e il runtime standard dovrebbe andare bene.

In “Impostazioni Avanzate” per l’Ambiente, troverete le impostazioni per modificare il calcolo delle impostazioni, selezionare un diverso tipo di server. È inoltre possibile modificare le variabili di ambiente da qui.

Per VPC impostazioni, è meglio lasciarli stare, a meno che non si dispone di un motivo per fare diversamente. Le impostazioni di default (vuoto) sono probabilmente bene.

Next up, dovrete configurare CodeBuild con un Buildspec file. Questo è un YAML modello che definisce i comandi che CodeBuild effettivamente eseguire. È possibile utilizzare un file effettivo, memorizzato nella directory principale del tuo progetto buildspec.yml, o si può entrare in un paio di comandi di compilazione manuale, se la tua configurazione non è super complesso.

In ogni modo, è probabile che tu bisogno di prendere un po di tempo per capire il vostro Buildspec file. Questo sarà molto dipende dal tipo di applicazione che si sta eseguendo, e ciò che è necessario per costruire e testare.

Ad esempio, la seguente configurazione è in grado di installare i moduli necessari per un Dattiloscritto progetto, compilare con npm eseguire costruire ed eseguire npm test. Il buildspec file ha un paio di fasi distinte, che è possibile utilizzare per eseguire i comandi in tempi diversi.

versione: 0.2
fasi:
installare:
runtime-versioni:
nodejs: 10
comandi:
– npm install-g dattiloscritto
– npm install
pre_build:
comandi:
– eco prebuild fase
costruire:
comandi:
– eco Costruire iniziato nel `data`
– npm eseguire build
– npm test
post_build:
comandi:
– eco Costruire completato in `data`
cache:
percorsi:
– ‘node_modules/**/*’
artefatti:
file:
– ‘**/*’
nome: yourBuildName-$(date +%Y-%m-%d)

È possibile consultare AWS è Buildspec di riferimento per ulteriori informazioni su come funziona il tutto.

Una volta che hai un file che si è soddisfatti, è possibile scegliere di attivare CloudWatch registri, oppure accedere all’S3, invece.

Fare clic su “Crea Progetto di costruzione”, e il programma di installazione deve essere completo.

Prova A Costruire

CodeBuild è di solito eseguita come parte di CodePipeline. Se si utilizza CodePipeline, dovrete finire il programma di installazione per la fase di distribuzione, e creare il tuo pipeline. Dovrebbe funzionare automaticamente e invia la tua sorgente a CodeBuild. In caso contrario, si può iniziare a costruire manualmente dalla console, o utilizzando il AWS CLI:

aws codebuild start-costruire
–progetto-nome <valore>

Questo comando ha un sacco di sostituzioni come bene.

Sarete in grado di visualizzare le build di output facendo clic sul costruire nella console di gestione. Questo mostrerà i registri del processo di costruzione, che può essere cruciale nella ricerca di errori.

Se un comando non riesce, la costruzione tutto probabile un esito negativo, in modo che si desidera assicurarsi che tutto sia corretto. Se si utilizza CodePipeline, le modifiche al buildspec.yml attiverà la nuova pipeline di aggiornamenti e nuove release.