Faites évoluer vos builds automatisés grâce à l'intégration entre TeamCity et Kubernetes

Déployez des agents de build TeamCity dans votre cluster Kubernetes pour une solution de CI/CD robuste et évolutive, dans le cloud ou en bare metal.

Pipelines d'intégration et de livraison continues pour Kubernetes avec TeamCity

Kubernetes permet aux équipes de « s'extraire » des serveurs bare metal et de leur dépendance. Grâce à Kubernetes, les utilisateurs bénéficient d'un service cohérent et continu : les équipes informatiques peuvent cesser d'utiliser n'importe quel serveur à tout moment, l'enlever pour maintenance, puis le remettre en place.

Kubernetes permet également d'optimiser les ressources en lançant plusieurs tâches sur un même serveur.

Grâce à l'intégration de TeamCity et Kubernetes, les équipes opérationnelles n'ont pas besoin de choisir entre le surprovisionnement et le risque d'une disponibilité réduite du serveur lorsque la concurrence pour les ressources augmente.

Choisissez votre version de TeamCity :

Intégrez TeamCity avec votre cluster Kubernetes

Grâce au plugin Kubernetes Support, TeamCity peut exécuter des agents de build dans votre cluster Kubernetes. Le plugin est fourni avec TeamCity, vous n'avez donc pas à le télécharger ou à l'installer séparément.

  • Implémentez une architecture de CI/CD évolutive par-dessus Kubernetes. Les agents de build peuvent être lancés automatiquement lorsque vous en avez besoin, faire leur travail, puis être supprimés une fois la build terminée. TeamCity lancera des conteneurs avec des agents TeamCity installés à la demande et gérera la file d'attente des builds.
  • Doté d'une prise en charge native de Docker, TeamCity vous permet d'automatiser le processus de CI/CD pour tous les projets quelles qu'en soient la taille et la complexité, mais aussi d'utiliser Docker pour chaque étape de votre pipeline.
  • Exécutez chaque build dans un environnement isolé en configurant chaque projet avec son propre profil cloud, qui pointe vers son cluster Kubernetes réservé.
  • Tirez avantage de l'élasticité de votre infrastructure cloud et profitez de l'allocation intelligente des ressources et de la conception résiliente de Kubernetes.
  • Exécutez des tâches en parallèle à l'aide de pods Kubernetes. Les pods sont alloués aux machines hébergées dans le cloud aussi efficacement que possible, afin d'optimiser le potentiel de l'exécution parallèle des tâches. Une fois qu'une tâche est terminée, les pods qui étaient utilisés pour cette tâche sont résiliés pour libérer des ressources ou maintenus en cours d'exécution, en fonction de vos paramètres.

Amélioration de la gestion du déploiement avec Kubernetes

La prise en charge native de Docker dans TeamCity permet un processus d'intégration et de déploiement continus entièrement conteneurisé.

Images de conteneurs

Créez de nouvelles images de conteneur et publiez-les dans votre registre de conteneurs à l'aide de l'outil d'exécution de build Docker, prêtes pour un déploiement dans vos environnements de préproduction gérés par Kubernetes.

Configuration de vos environnements de test et de préproduction

Configurez des environnements de test et de préproduction correspondant étroitement à vos environnements de production et laissez Kubernetes déployer vos dernières builds prêtes pour une intégration automatisée, des tests de bout en bout, et une vérification manuelle.

Rapports détaillés

TeamCity fournit des rapports détaillés pour les tests automatisés, comportant les résultats rapportés à la volée, des liens vers les journaux et les traces de pile pertinents, pour vous permettre d'enquêter immédiatement sur les défaillances.

Outil d'exécution de build Helm pour une copie miroir de votre environnement live

Utilisez l'outil d'exécution de build Helm (disponible sous forme de plugin) pour configurer les charges de travail de Kubernetes et vous assurer que vos déploiements de préproduction reflètent bien votre environnement live.

Premiers pas avec la CI/CD de Kubernetes

Pour un pipeline d'intégration et de déploiement continu entièrement évolutif et hautement résilient, configurez un cluster Kubernetes pour gérer vos tâches de build de CI et déployez votre application conteneurisée dans des environnements de test et de préproduction hébergés par Kubernetes, qui répliquent avec précision votre système de production.

Pour configurer TeamCity afin d'utiliser les ressources du cluster Kubernetes :

  • Configurez un cluster Kubernetes pour héberger vos agents de build TeamCity. Vous pouvez au choix utiliser un service d'hébergement Kubernetes, tel que GKE de Google Cloud ou Amazon EKS, ou héberger vous-même Kubernetes dans le cloud ou sur des serveurs bare metal.
  • Pour héberger à la fois les tâches de build et les environnements de test sur le même cluster, configurez des espaces de noms dédiés dans Kubernetes.
  • Accordez à TeamCity les autorisations d'écriture pertinentes dans votre cluster.
  • Dans TeamCity, configurez un profil cloud Kubernetes et spécifiez les paramètres de l'agent cloud. Utilisez un modèle de pod personnalisé pour définir les limites des ressources de calcul disponibles pour chaque instance d'un agent de build TeamCity ou pour configurer la politique de redémarrage.
  • Configurez TeamCity afin d'utiliser l'agent cloud pour les tâches de build.

Questions fréquentes

Comment fonctionne l'intégration de TeamCity et Kubernetes ?

Chaque fois qu'une nouvelle tâche est ajoutée à la file d'attente des builds, TeamCity identifie une image d'agent de build compatible, puis transmet la requête à Kubernetes. L'orchestrateur de conteneurs identifie alors un pod existant avec l'agent de build correct ou lance un nouveau pod pour répondre à la demande. Plusieurs tâches de build conteneurisées peuvent s'exécuter sur la même machine virtuelle, sans aucun risque d'interférence.

Par où commencer avec Kubernetes et TeamCity ?

La prise en charge de Kubernetes dans TeamCity vous permet de bénéficier de tous les avantages d'une infrastructure hautement évolutive et résiliente pour vos tâches de build et vos tests automatisés. Vous trouverez plus d'informations sur les avantages de la CI/CD, l'objectif d'un pipeline de CI/CD, ainsi que les points à prendre en compte pour la création d'un pipeline de CI/CD hébergé dans le cloud dans notre guide de CI/CD.

Vous voulez vous lancer ? Intégrez TeamCity avec vos clusters Kubernetes et exécutez votre première build dans un pipeline d'intégration et de déploiement continus Kubernetes.

Premiers pas avec TeamCity

Une puissante CI/CD pour les équipes utilisant Kubernetes