Agence web » Actualités du digital » Comment démarrer avec CodeBuild, le service de construction automatisé d'AWS

Comment démarrer avec CodeBuild, le service de construction automatisé d'AWS

CodeBuild est un service de construction géré, similaire en fonction à Jenkins mais axé spécifiquement sur l'automatisation de la construction et des tests. Il peut être utilisé en conjonction avec CodePipeline pour créer un pipeline CI / CD entièrement automatisé.

Configurer un projet de construction

Si vous utilisez CodePipeline, vous devez créer votre projet CodeBuild à partir de la boîte de dialogue pendant "Ajouter une étape de construction". Cela le configurera pour utiliser CodePipeline comme source. Si vous n'utilisez pas CodePipeline, vous pouvez créer votre projet de build à partir de la console de gestion CodeBuild et saisir manuellement les détails de votre contrôle de code source.

Quoi qu'il en soit, la première chose que vous configurerez est l'environnement dans lequel votre code sera intégré. Cela ne devrait pas avoir d'importance pour la plupart des projets, mais pour ceux qui le font, vous pouvez spécifier des images Docker personnalisées pour avoir un contrôle total sur celui-ci. Sinon, les paramètres par défaut d'Amazon Linux 2 et les environnements d'exécution standard devraient convenir.

Sous "Paramètres avancés" pour l'environnement, vous trouverez les paramètres pour modifier les paramètres de calcul, pour sélectionner un autre type de serveur. Vous pouvez également modifier les variables d'environnement à partir d'ici.

Pour les paramètres VPC, il est préférable de laisser cela de côté, sauf si vous avez une raison de faire autrement. Les paramètres par défaut (vides) sont probablement corrects.

Ensuite, vous devrez configurer CodeBuild avec un fichier Buildspec. Il s'agit d'un modèle YAML qui définit les commandes que CodeBuild exécutera réellement. Vous pouvez utiliser un fichier réel, stocké à la racine de votre projet comme buildspec.yml, ou vous pouvez saisir manuellement quelques commandes de construction, si votre configuration n’est pas très complexe.

Quoi qu'il en soit, vous devrez probablement prendre un certain temps pour comprendre votre fichier Buildspec. Cela dépendra fortement du type d'application que vous exécutez et de ce qui est nécessaire pour créer et tester.

Par exemple, la configuration suivante installera les modules nécessaires à un projet TypeScript, compilez avec npm run build, et courir npm test. Le fichier buildspec comporte quelques phases distinctes, que vous pouvez utiliser pour exécuter des commandes à des moments différents.

version: 0.2 
phases: 
    install: 
        runtime-versions: 
            nodejs: 10 
        commands: 
            - npm install -g typescript 
            - npm install 
    pre_build: 
        commands: 
            - echo prebuild phase
    build: 
        commands: 
            - echo Build started on `date` 
            - npm run build 
            - npm test 
    post_build: 
        commands: 
            - echo Build completed on `date` 
cache: 
    paths: 
        - 'node_modules/**/*' 
artifacts: 
    files: 
        - '**/*' 
    name: yourBuildName-$(date +%Y-%m-%d)

Vous pouvez consulter la référence Buildspec d'AWS pour plus d'informations sur le fonctionnement de tout.

Une fois que vous avez un fichier qui vous convient, vous pouvez choisir d'activer les journaux CloudWatch ou de vous connecter à S3 à la place.

Cliquez sur "Créer un projet de construction" et votre configuration devrait être terminée.

Tester votre build

CodeBuild est généralement exécuté dans le cadre de CodePipeline. Si vous utilisez CodePipeline, vous devrez terminer la configuration de la phase de déploiement et créer votre pipeline. Il devrait s'exécuter automatiquement et envoyer votre source à CodeBuild. Sinon, vous pouvez démarrer la compilation manuellement à partir de la console ou à l'aide de l'AWS CLI:

aws codebuild start-build
--project-name 

Cette commande a également beaucoup de remplacements.

Vous pourrez afficher la sortie de votre build en cliquant sur le build dans la console de gestion. Cela vous montrera les journaux du processus de construction, ce qui peut être crucial pour traquer les erreurs.

Si une commande échoue, la compilation entière échouera probablement, vous voudrez donc vous assurer que tout est correct. Si vous utilisez CodePipeline, les modifications apportées à votre buildspec.yml déclenchera de nouvelles mises à jour de pipeline et de nouvelles versions.

★★★★★