2017-09-20 3 views

Répondre

2

Oui, avec AWS Code Pipeline!

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline.html

Avec AWS CloudFormation et AWS CodePipeline, vous pouvez utiliser la livraison continue de construire automatiquement et les changements de test à vos modèles AWS CloudFormation [...]

AWS CodePipeline a intégré l'intégration avec AWS CloudFormation, vous pouvez ainsi spécifier des actions spécifiques à AWS CloudFormation, telles que la création, la mise à jour ou la suppression d'une pile dans un pipeline.

1

CodePipeline est une excellente façon de faire ce que vous cherchez.

A Giftbit nous le faisons est d'avoir un Github repo qui a notre modèle de CloudFormation en elle.

Quand on veut faire un changement, nous faisons les changements sur un dans le repo, branche et créer une demande de traction dans la branche staging. CodePipeline surveille la branche staging puis automatise un CodeBuild pour valider les modèles, conditionner les sous-piles, puis créer un ensemble de modifications et l'exécuter.

Voici quelques exemples ont pour aider démarrage rapide toute personne intéressée:

+0

Qu'en est-rôle de service pour CloudFormation? Lorsque je crée le pipeline, il me demande la 4ème étape (avec CloudFormation sélectionné comme fournisseur de déploiement pour sélectionner le rôle de service). Je pourrais en créer un, mais quelles permissions dois-je fournir à ce rôle? –

+1

Voici un exemple pour déployer une fonction lambda https://github.com/Giftbit/sam-scaffold/blob/496200ce05992db72d7af94e201ad01b0c11cb0e/typescript/infrastructure/ci.yaml#L187. La grande question est: que fait le modèle que vous déployez? Il a besoin de permission pour ça. Donc, s'il crée un compartiment, il devrait avoir 's3: CreateBucket' et' s3: DeleteBucket'. S'il crée un rôle, donnez-lui l'autorisation de créer et de supprimer des rôles. Il est toujours important de s'assurer que votre rôle peut défaire ce qu'il fait, afin qu'il puisse jouer un rôle. –