Libérer la magie CI/CD dans l’intégration de Boomi / Blogs / Perficient

Qu’est-ce que le CI/CD ?
Un pipeline CI/CD (Continuous Integration/Continuous Deployment) est un flux de travail automatisé ou une série d’étapes que les développeurs utilisent pour créer, tester et déployer leurs modifications de code. Il s’agit d’un élément crucial du développement logiciel moderne, favorisant l’efficacité, la fiabilité et la cohérence du processus de développement logiciel.
Pourquoi avons-nous besoin de CI/CD ?
Dans de nombreuses organisations, les processus d’intégration et autres artefacts développés dans la plateforme d’intégration doivent être intégrés à des flux de travail et des outils CI/CD externes tels que GitHub et Jenkins pour automatiser et coordonner le déploiement.
Avec l’aide de CI/CD, il est possible de développer des logiciels et des produits plus rapidement que jamais, de mettre le code en production en continu et de garantir un flux constant de nouvelles fonctionnalités.
Comprendre CI/CD
Intégration Continue (CI) implique de fusionner fréquemment les modifications de code dans un référentiel partagé. Les modifications apportées par chaque développeur d’intégration sont validées via des builds et des tests automatisés pour détecter les problèmes d’intégration dès le début du cycle de développement. Cela garantit que la base de code principale est toujours en état de fonctionnement.
Déploiement continu (CD) automatise le processus de déploiement des modifications de code validées dans différents environnements, tels que le développement, les tests, la préparation et la production. Il garantit que le dernier code testé est fourni aux utilisateurs rapidement et efficacement.
Premiers pas avec la mise en œuvre de CI/CD
Boomi est une puissante plateforme d’intégration. Bien qu’il offre un large éventail de fonctionnalités, certaines fonctionnalités peuvent ne pas être facilement disponibles dans certains scénarios. La vaste collection d’API Boomi Atomspher permet aux utilisateurs d’automatiser des tâches telles que la création de composants de package, le déploiement de composants, la surveillance, etc.
En utilisant ces API, nous avons développé des implémentations CI/CD qui améliorent la qualité du code et facilitent le développement piloté par les tests. Ce blog donne plus de détails sur l’implémentation de référence et fournit un exemple de code pour vous aider.
Il y a deux composants principaux :
- API Atomsphère
- GitHub
Examinons en profondeur les composants mentionnés en considérant un cas d’utilisation dans lequel nous automatiserons la création d’un composant de package et son déploiement dans l’environnement souhaité dans Boomi Atom Cloud.
API Atomsphère
Veuillez vous référer aux images ci-dessous pour le cas d’utilisation mentionné. Dans ce cas d’utilisation, l’API de la plateforme AtomSphere est au cœur. Pour utiliser les API AtomSphere, le connecteur API Boomi AtomSphere est nécessaire. En utilisant ce connecteur, nous pouvons créer un processus chargé de créer un package et de le déployer dans l’environnement souhaité.
Lors de l’automatisation de ce processus, l’ID d’environnement et l’ID packagé doivent être transmis au déploiement du processus et l’ID de composant pour la création de composants packagés. Le diagramme de flux vous aide à comprendre la mise en œuvre plus en profondeur.
Vous pouvez définir le nom du processus en copiant le nom du processus à partir du composant de processus, et l’ID d’environnement peut être récupéré à partir de la gestion Atom de Boomi.
Le reste des paramètres dépendants est affiché dans le diagramme (Boomi : Aperçu du processus).
L’utilisation du connecteur API AtomSphere nécessite de suivre une séquence. Nous pourrions avoir besoin de plusieurs connecteurs AtomSphere pour extraire différentes valeurs. La séquence du connecteur API Boomi Atomsphere pour notre cas d’utilisation est illustrée à droite.
Dans le diagramme de flux, nous utilisons l’action de requête dans le connecteur API AtomSphere. Ce processus nécessite différents paramètres, qui sont mentionnés ci-dessous en fonction de leur dépendance.
Vous pouvez définir le nom du processus en copiant le nom du processus à partir du composant de processus et l’ID d’environnement peut être récupéré à partir de la gestion Atom de Boomi.
Le reste des paramètres dépendants est affiché dans le diagramme (Boomi : Aperçu du processus).
La fonctionnalité de chaque connecteur API Atomsphere affiché dans l’image est expliquée ci-dessous :
- Obtenez les détails du processus : Entrez le nom du processus comme valeur de paramètre et l’action du connecteur est Requête.
- Pour le détail des composants : Entrez l’ID de processus à partir des détails du processus comme valeur de paramètre et l’action du connecteur est OBTENIR.
- Pour créer un composant packagé : Entrez l’ID du composant à partir des détails du composant comme valeur de paramètre. L’action du connecteur est CRÉER.
- Pour le déploiement : Entrez l’ID packagé à partir de la réponse du composant packagé et l’ID Env comme valeur de paramètre et l’action du connecteur est CRÉER.
Le processus devrait être service Web basé sur un serveur et utilisez la forme de propriété Définir pour définir dynamiquement la valeur du nom du processus et de l’ID d’environnement à l’aide de la propriété de processus dynamique.
Si vous souhaitez améliorer le processus CICD, vous pouvez utiliser n’importe quel outil de contrôle de source et pipeline de déploiement. Ici, j’ai utilisé GitHub comme outil de contrôle de source et GitHub Actions comme pipeline de déploiement.
GitHub
Dans cette implémentation, nous allons utiliser GitHub Action pour gérer le workflow CI/CD. Les organisations suivent généralement des stratégies de branchement en impliquant des branches spécifiques à l’environnement (Feature, Dev, QA, UAT & PROD).
Ici, nous utiliserons quatre branches, ce qui nous permettra de mieux comprendre. Vous trouverez ci-dessous les étapes pour mettre en œuvre un déploiement continu pour un processus Boomi.
- Accédez à GitHub et établissez un nouveau référentiel portant le nom du processus Boomi que nous allons déployer.
- Dans ce référentiel, nous allons créer quatre branches : « Feature », « Dev », « Test » et « Prod ».
- Dans la branche Fonctionnalité, les modifications mentionnées précédemment seront poussées depuis notre système local.
- Ensuite, une pull request (PR) sera envoyée de la fonctionnalité au développeur pour fusionner le code.
- De même, le code sera promu dans des environnements supérieurs. Le workflow GitHub sera déclenché à chaque fois qu’un PR est fusionné et les processus Boomi se déploieront dans l’environnement souhaité.
- Le workflow doit être configuré dans les branches Dev, Test et Main (Prod) pour cela. Pour configurer le workflow dans GitHub, accédez à la branche Désiré pour configurer le workflow >> Action >> nouveau flux de travail >> Configurez vous-même le workflow. Procédez à la composition du code à l’aide d’un (.yml) extension.
Il s’agit d’un exemple de code de flux de travail pour référence. Cela peut être modifié en fonction des besoins.
Dans ce code de référence, nous avons utilisé l’URL de base pour les requêtes API du processus Boomi, que nous avons créé et déployé précédemment sur Boomi Cloud. Dans le cadre de l’authentification, nous avons besoin de quelques mots de passe et secrets. Vous pouvez ajouter directement des mots de passe et des secrets en ligne (ce qui n’est pas recommandé) ; sinon, vous pouvez utiliser le magasin secret de GitHub, qui constitue un moyen sécurisé d’ajouter et de stocker des informations d’identification. Pour créer des secrets, accédez à Paramètres >> Secrets et variables >> Secrets ou variables.
Comprendre le fonctionnement de GitHub
La description de poste montre que les processus ont été déployés avec succès dans les environnements souhaités. Vous pouvez également le vérifier sur la plateforme Boomi.
Nous avons terminé la mise en œuvre du processus de déploiement automatisé de Boomi. Ici, nous avons utilisé GitHub gérer le flux de travail CI/CD ; vous pouvez également utiliser un autre outil, tel que Jenkins.
Conclusion
Bien que Boomi ne dispose pas de fonctionnalités inhérentes pour automatiser la création de composants de package et leur déploiement sur Atom Cloud, les développeurs peuvent surmonter cette limitation en utilisant les API et les capacités de script de Boomi. Les organisations peuvent mettre en place un processus d’intégration plus efficace et automatisé en tirant parti de ces API, d’outils tiers et de l’intégration CI/CD.
Cela se traduit par une réduction du temps et des erreurs de développement et une amélioration globale du flux de travail d’intégration, faisant de Boomi un outil encore plus précieux pour les entreprises qui recherchent une connectivité transparente entre les applications et les données.
Ils complèteront + Boomi
Chez Perficient, nous excellons dans les implémentations tactiques de Boomi en vous aidant à relever l’ensemble des défis avec des solutions durables plutôt que de compter sur des solutions de fortune. Le résultat est des actifs intelligents et multifonctionnels qui réduisent les coûts au fil du temps et permettent à votre organisation de se préparer de manière proactive aux futures demandes d’intégration.
Contactez-nous aujourd’hui pour savoir comment nous pouvons vous aider à mettre en œuvre des solutions d’intégration avec Boomi.
Source link