Fonctions d’AWS CodeBuild

Pourquoi CodeBuild ?

AWS CodeBuild est un service d’intégration continue entièrement géré dans le cloud. Spécifiez l'emplacement de votre code source et choisissez vos paramètres de génération : cela suffit à CodeBuild pour exécuter des scripts de création qui vous permettront de compiler, tester et compresser votre code. Vous n'avez plus besoin de mettre en service et dimensionner des serveurs, ni d'installer, de configurer ou d'exploiter des logiciels.

Création et test de votre code

CodeBuild exécute vos générations dans des environnements pré-configurés qui contiennent le système d'exploitation, l'exécutable du langage de programmation et les outils de génération (par ex., Apache Maven et Gradle, npm) nécessaires à la réalisation de la tâche. Il vous suffit de spécifier l'emplacement du code source et de sélectionner les paramètres de votre génération, tels que l'environnement de génération à utiliser et les commandes de création à exécuter pendant une génération. AWS CodeBuild génère votre code et stocke les artefacts dans un compartiment Amazon S3 ou vous pouvez utiliser une commande de génération pour les charger dans un référentiel d'artefacts. Vous pouvez créer, gérer et lancer des projets de génération à l'aide d'AWS CodePipeline, d'AWS Management Console, des interfaces de ligne de commande AWS ou des kits SDK.

AWS CodeBuild propose des environnements de génération pour Java, Python, Node.js, Ruby, Go, Android, .NET Core for Linux et Docker.

Vous trouverez la liste complète des environnements de génération pré-configurés

Vous pouvez utiliser vos propres environnements de génération avec AWS CodeBuild comme pour Microsoft .NET Framework. Vous pouvez compresser l'exécutable et les outils de votre génération dans une image Docker et les charger dans un référentiel public Docker Hub ou dans Amazon Elastic Container Registry (Amazon ECR). Lorsque vous créez un nouveau projet de génération, vous pouvez spécifier l'emplacement de votre image Docker. CodeBuild récupère alors l'image et l'utilise comme configuration pour le projet de génération. 

Paramètres configurables

Vous pouvez définir les commandes spécifiques que vous souhaitez que CodeBuild exécute, telles que l'installation de packages d'outils de création, l'exécution de tests unitaires et la compression de votre code. La spécification de la génération est un fichier YAML qui vous permet de choisir les commandes à exécuter lors de chaque phase de la génération ainsi que d'autres paramètres. CodeBuild vous permet de rapidement faire vos premiers pas grâce à des fichiers d'exemples de spécification de génération pour des scénarios courants, tels que les générations utilisant Apache Maven, Gradle ou npm.

Voir les fichiers d'exemples de spécifications de génération

Vous pouvez sélectionner le type de calcul qui convient le mieux à vos besoins en matière de développement. Vous pouvez choisir parmi trois niveaux de capacité de calcul qui varient en fonction de la quantité de ressources de CPU et de mémoire. Cela vous permet de choisir davantage de ressources de CPU, de mémoire et de calcul si vous souhaitez que vos générations soient effectuées plus rapidement ou si leur exécution nécessite un niveau minimum de CPU et de mémoire.  CodeBuild prend en charge les systèmes d’exploitation Linux et Windows.

Vous pouvez lancer des générations de plusieurs façons avec CodeBuild. Par exemple, vous pouvez lancer des générations dans CodeBuild après vous être connecté à AWS CodeCommit, GitHub, GitHub Enterprise, Bitbucket ou Amazon Simple Storage Service (Amazon S3). Vous pouvez également connecter CodeBuild et votre référentiel source à AWS CodePipeline qui lance automatiquement une génération chaque fois que vous validez un changement.

Questions d’ordre général

Les ressources de calcul à la demande et la tarification à l'utilisation dans CodeBuild vous permettent de créer et d'intégrer du code plus fréquemment, ce qui vous permet de détecter et de corriger les bogues dès le début du processus de développement, lorsqu'ils sont faciles à corriger. Vous pouvez intégrer CodeBuild à votre flux d'intégration continue (CI) et de diffusion continue(CD) actuel à l'aide de ses intégrations de source, des commandes de génération ou de l'intégration Jenkins. CodeBuild fait également partie d'une famille de servicesAWS Code qui vous aide à mettre en pratique l'intégration continue (CI) et la diffusion continue (CD). Vous pouvez connecter CodeBuild à CodePipeline, qui automatise la création et les tests des codes dans CodeBuild chaque fois que vous validez un changement de référentiel source. Vous pouvez créer ce flux CI à l'aide de l'assistant CodePipeline pour connecter votre référentiel source et sélectionner CodeBuild en tant que fournisseur de génération.

Vous pouvez facilement étendre votre flux d'intégration continue vers la diffusion continue avec CodePipeline en intégrant des outils tiers de test de charge ou d'interface utilisateur (par ex., BlazeMeter ou Ghost Inspector) qui se lancent une fois que CodeBuild a terminé la génération. Vous pouvez ensuite procéder à un déploiement sur vos instances ou serveurs sur site à l'aide des services intégrés à CodePipeline tels qu'AWS CodeDeploy et AWS Elastic Beanstalk.

Vos artefacts de génération sont chiffrés à l'aide de clés propres à chaque client, gérées par AWS Key Management Service (AWS KMS). CodeBuild est intégré à AWS Identity et Access Management, et vous pouvez définir des contrôles précis concernant l'accès des utilisateurs et ressources AWS à vos générations.

Vous pouvez utiliser la console CodeBuild, l'interface de ligne de commande AWS (AWS CLI), les kits SDK et les API, ou Amazon CloudWatch pour afficher des informations détaillées sur vos versions. CodeBuild affiche des informations telles que l'heure de début, l'heure de fin, le statut et l'ID de validation de la génération. CodeBuild permet également de générer des mesures et des journaux vers CloudWatch. Vous pouvez utiliser CloudWatch pour créer un tableau de bord personnalisé, définir une alarme Amazon CloudWatch, résoudre les problèmes de génération ou inspecter les journaux de génération.

Vous pouvez créer des notifications pour des événements influençant vos projets de génération. Les notifications prendront la forme de notifications Amazon Simple Notification Service (Amazon SNS). Chaque notification inclut un message d'état et un lien vers les ressources dont l'événement a généré cette notification.