Bamboo
Serveur d'intégration et de déploiement continu développé par Atlassian, permettant d'automatiser les builds, tests et déploiements logiciels.
Mis à jour le 19 janvier 2026
Bamboo est une solution CI/CD développée par Atlassian qui automatise l'ensemble du cycle de livraison logicielle, de la compilation au déploiement en production. Intégré nativement avec Jira et Bitbucket, Bamboo offre une plateforme centralisée pour orchestrer les pipelines de build et de release. Il se distingue par son interface intuitive et sa capacité à gérer des workflows complexes multi-branches et multi-environnements.
Fondements
- Serveur CI/CD commercial intégré à l'écosystème Atlassian (Jira, Bitbucket, Confluence)
- Architecture basée sur des plans de build, des stages, des jobs et des tâches configurables
- Support natif des agents de build distribués pour une exécution parallèle des pipelines
- Gestion automatique des dépendances entre builds et déploiements multi-environnements
Avantages
- Intégration transparente avec Jira pour tracer automatiquement les tickets liés aux builds et déploiements
- Interface graphique complète permettant de configurer les pipelines sans nécessiter de code
- Gestion sophistiquée des permissions par projet, plan et environnement de déploiement
- Support intégré des branches Git avec détection automatique et création de plans dérivés
- Capacités de déploiement avec promotion entre environnements et approbations manuelles
- Reporting détaillé avec traçabilité complète des releases et métriques de qualité
Exemple concret
Voici une configuration de plan Bamboo utilisant les Bamboo Specs (configuration as code en Java) pour définir un pipeline de build et déploiement :
@BambooSpec
public class PlanSpec {
public Plan plan() {
final Plan plan = new Plan(
new Project()
.key("PROJ")
.name("Mon Projet"),
"Build et Deploy",
"BUILD"
)
.stages(
new Stage("Build Stage")
.jobs(new Job("Compilation", "COMP")
.tasks(
new VcsCheckoutTask()
.description("Checkout du code"),
new MavenTask()
.goal("clean install")
.jdk("JDK 17")
.executableLabel("Maven 3.9"),
new TestParserTask(TestParserTaskProperties.TestType.JUNIT)
.resultDirectories("**/target/surefire-reports/*.xml")
)
.artifacts(
new Artifact()
.name("Application JAR")
.location("target")
.copyPattern("*.jar")
.shared(true)
)
),
new Stage("Test Stage")
.jobs(new Job("Tests Integration", "IT")
.tasks(
new ScriptTask()
.inlineBody("./run-integration-tests.sh")
)
)
)
.planRepositories(
new BitbucketServerRepository()
.name("Mon Repo")
.projectKey("PROJ")
.repositorySlug("mon-repo")
.branch("main")
)
.triggers(
new BitbucketServerTrigger()
)
.planBranchManagement(
new PlanBranchManagement()
.createForPullRequest()
.delete(new BranchCleanup())
.notificationForCommitters()
);
return plan;
}
public PlanPermissions planPermission() {
return new PlanPermissions(new PlanIdentifier("PROJ", "BUILD"))
.permissions(new Permissions()
.userPermissions("admin", PermissionType.ADMIN)
.groupPermissions("developers", PermissionType.BUILD, PermissionType.VIEW)
);
}
}Mise en œuvre
- Installer Bamboo Server sur une infrastructure dédiée ou utiliser Bamboo Cloud (version SaaS)
- Configurer les agents de build (locaux ou distants) selon les besoins de parallélisation
- Connecter les repositories source (Bitbucket, GitHub, GitLab) avec les credentials appropriés
- Créer des plans de build en définissant stages, jobs et tâches via l'interface ou Bamboo Specs
- Configurer les déploiements avec les environnements cibles (DEV, QA, STAGING, PROD)
- Définir les permissions et les workflows d'approbation pour les déploiements sensibles
- Intégrer avec Jira pour la traçabilité automatique des issues dans les releases
- Configurer les notifications (email, Slack, webhooks) pour les événements du pipeline
- Optimiser les performances avec le cache des dépendances et les artefacts partagés
Conseil Pro
Adoptez les Bamboo Specs dès le départ pour versionner votre configuration CI/CD dans Git. Cette approche Infrastructure as Code facilite la réplication des plans, la traçabilité des changements et la collaboration entre équipes. Utilisez également les variables de plan et d'environnement pour centraliser la configuration et éviter la duplication.
Outils associés
- Jira - Suivi des tickets et traçabilité automatique des releases
- Bitbucket - Gestion de code source avec intégration native
- Jenkins - Alternative open-source d'automatisation CI/CD
- GitLab CI - Plateforme intégrée DevOps concurrente
- Docker - Conteneurisation des environnements de build
- Kubernetes - Orchestration pour les déploiements cloud-native
- SonarQube - Analyse de qualité de code intégrable aux pipelines
- Artifactory - Gestion centralisée des artefacts de build
Bamboo constitue une solution CI/CD mature particulièrement adaptée aux organisations utilisant l'écosystème Atlassian. Son intégration native avec Jira et Bitbucket offre une traçabilité complète du code aux déploiements, réduisant significativement le temps de mise en production tout en maintenant un contrôle rigoureux des releases. Pour les équipes recherchant une solution commerciale supportée avec une courbe d'apprentissage réduite, Bamboo représente un investissement stratégique dans l'automatisation DevOps.
