1

Je suis en train de lire sur les thèmes de l'intégration continue et de la livraison continue (CD) avec Jenkins. Obv si vous voulez faire un CD, vous devez automatiser votre processus de déploiement à QA et P. Je lis beaucoup sur l'infrastructure d'infrastructure et de l'infrastructure en tant que code avec chef/marionnette/docker, qui est nécessaire pour faire CD. Ma question: que se passe-t-il si j'héberge mon application sur le cloud (c'est-à-dire que j'utilise une infrastructure Cloud Foundry comme AWS ou Azure), qui automatise mon infrastructure par elle-même (ou?). Mais comment est-il possible de suivre l'infrastructure comme code sur AWS? ou est-ce même nécessaire? Je veux dire, si vous hébergez votre application par vous-même, vous devez réaliser l'automatisation de l'infrastructure pour faire des CD, mais sur le cloud, c'est déjà donné ?!Livraison continue, PaaS et automatisation d'infrastructure

J'espère que vous comprenez ma "question"

Répondre

2

Cela dépend entièrement de l'architecture de l'infrastructure de votre solution. Spécialement sur le type de service (de l'infrastructure de fonderie de nuages) que vous utilisez. Par exemple, si vous utilisez des serveurs EC2 d'AWS pour déployer vos applications Web, il est parfaitement plausible d'utiliser Jenkins + Chef ou Puppet pour déployer continuellement cette application. Puisque vous avez des configurations plus granulaires à effectuer. Vous pouvez implémenter l'infrastructure sous forme de code depuis les pipelines jenkins jusqu'au provisionnement du serveur, en choisissant AMI pour déployer de nouvelles instances, par exemple. Vous aurez plus de frais généraux de configuration, mais aussi plus de contrôle de ce qui se passe et comment cela se passe. Mais si vous utilisez une approche PaaS, comme le service Elastic Beanstalk d'AWS, le processus de déploiement est plus transparent, je ne ressens pas la nécessité d'utiliser de tels outils, juste un travail avec une étape pour acquérir le nouveau artefact de version pré-construit et une autre étape avec un déclencheur d'interface de ligne de commande pour mettre à jour une nouvelles versions suffirait. Mais ce n'est pas impuissant d'utiliser IaC dans de telles occasions.

+0

Merci beaucoup, cela m'aide beaucoup! Donc, PaaS facilite l'automatisation du déploiement, mais d'un autre côté, vous ne pouvez pas le personnaliser! – Maermot

+0

@Maermot envisager au moins upvoting ma réponse si elle vous a aidé. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

1

L'intégration continue signifie que chaque validation dans votre référentiel doit être compilée et déployée automatiquement dans l'environnement d'intégration/dev. S'il y a une erreur de compilation ou si vos cas de tests unitaires échouent, il ne doit pas être déployé dans l'environnement d'intégration et en même temps votre équipe devrait recevoir une notification d'échec de construction avec un journal. Si vous n'êtes pas en mesure d'y parvenir à partir de votre fournisseur de cloud, vous devez utiliser les outils Jenkins et CM. En bref CI/CD est juste un concept. vous pouvez l'implémenter en utilisant Jenkins, les outils CM OU vous pouvez écrire vos scripts personnalisés OU vous pouvez tirer parti des services Cloud. Vous pouvez choisir l'un d'entre eux, mais assurez-vous de suivre toutes les meilleures pratiques CI/CD.

Merci - KS