Fiche technique | |
---|---|
Fournisseur : | AWS |
Type de produit : | Service infonuagique |
Catégorie : | Déploiement |
Site Web : | https://aws.amazon.com/codebuild/ |
AWS CodeBuild
Le AWS CodeBuild est un service d'intégration continue entièrement géré compilant le code source, exécutant des tests et produisant des paquets logiciels prêts à être déployés. Avec AWS CodeBuild, vous n'avez pas besoin de provisionner, de gérer et de faire évoluer vos propres serveurs de build. AWS CodeBuild évolue en continu et traite plusieurs builds simultanément, de sorte que vos builds ne restent pas en attente dans une file d'attente. Vous pouvez démarrer rapidement en utilisant des environnements de build prépackagés, ou vous pouvez créer des environnements de build personnalisés utilisant vos propres outils de build. Avec AWS CodeBuild, vous êtes facturé à la minute pour les ressources de calcul que vous utilisez.
Voici les caractéristiques principales d'AWS CodeBuild :
- Service de Build entièrement géré : AWS CodeBuild supprime la nécessité de configurer, gérer et mettre à l'échelle ses propres serveurs de build. AWS prend en charge l'infrastructure nécessaire à la compilation, au test, et à l'emballage du code.
- Évolutivité automatique : AWS CodeBuild peut évoluer automatiquement pour gérer plusieurs builds en parallèle. Cela permet de répondre aux pics de demande sans ralentir les processus, même avec un grand nombre de builds simultanés.
- Support de plusieurs environnements d'exécution : AWS CodeBuild prend en charge plusieurs langages de programmation et environnements, notamment Java, Python, Ruby, Go, Docker, Node.js, Android, et .NET Core. Il est possible de spécifier son environnement personnalisé si besoin.
- Intégration avec d'autres services AWS : Il s'intègre bien avec AWS CodePipeline, AWS CodeCommit, et d'autres services d'AWS pour créer des pipelines CI/CD robustes. CodeBuild peut également publier des rapports sur Amazon CloudWatch pour le suivi et l'alerte en temps réel.
- Gestion et sécurité : AWS CodeBuild utilise IAM pour gérer les autorisations d'accès et intègre les mesures de sécurité AWS. Les artefacts peuvent être chiffrés avec des clés gérées par AWS Key Management Service (KMS) pour protéger les informations sensibles.
- Personnalisation des étapes de build : Chaque étape peut être configurée à l'aide d'un fichier de build spécifié (généralement buildspec.yml) définissant des phases comme install, pre_build, build, et post_build. Cela permet un contrôle précis sur chaque étape de la compilation et des tests.
- Rapports de tests : AWS CodeBuild peut générer des rapports de tests automatiques en analysant les résultats des tests unitaires et d'intégration. Ces rapports sont facilement accessibles depuis la console AWS, permettant d'identifier les erreurs et de suivre la qualité du code.
- Optimisation des coûts : AWS CodeBuild est tarifé à la minute, donc les coûts sont contrôlables, et l'on ne paie que pour le temps de build effectivement utilisé. Le service étant entièrement géré, il permet d'économiser sur les coûts d'infrastructure et de maintenance.
- Isolation des builds avec Docker : Chaque build est exécuté dans un environnement isolé basé sur Docker, ce qui garantit la sécurité et évite les conflits entre les environnements. Cela permet aussi d'utiliser n'importe quelle image Docker comme environnement d'exécution.
- Builds parallèles et tests fragmentés : AWS CodeBuild prend en charge les builds parallèles et permet de fragmenter les tests pour optimiser la vitesse des pipelines CI/CD, rendant les builds plus efficaces même dans des contextes de projet volumineux.
Avantages de AWS CodeBuild
- Flexibilité : Supporte plusieurs langages de programmation et environnements, et est personnalisable pour répondre à divers besoins de compilation et de test.
- Sécurité : Utilise les normes de sécurité AWS, avec des environnements de build isolés et des options de chiffrement.
- Automatisation facile : S'intègre facilement aux autres services AWS, simplifiant la création de pipelines CI/CD robustes.
Inconvénients de CodeBuild
- Limité aux environnements Docker : Le support d'environnements non Docker est limité, ce qui peut ne pas convenir à certains flux de travaux.
- Coût pour les grands projets : Bien que facturé à la minute, le coût peut devenir significatif pour les projets avec des builds très longs ou fréquents.
Cas d'utilisation d'AWS CodeBuild
- Pipelines CI/CD automatisés : Idéal pour les projets nécessitant des builds fréquents et des tests automatisés en intégration continue.
- Tests de logiciels et révisions de code : En combinant les rapports de tests avec AWS CodePipeline, AWS CodeBuild permet d'automatiser les vérifications de qualité.
- Déploiements Serverless : Couplé avec AWS Lambda, AWS CodeBuild peut être utilisé pour empaqueter et déployer des applications sans serveur.
Concurrent
Ses concurrents sont Cloud Source Repositories, Oracle Visual Builder Studio, DevStar,...