<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Continuous Integration on Technology Enlightened</title>
    <link>https://pprakash.me/tags/continuous-integration/</link>
    <description>Recent content in Continuous Integration on Technology Enlightened</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>&amp;copy; &lt;a href=&#34;https://github.com/p-prakash/&#34;&gt;Prakash P&lt;/a&gt; 2015 - 2023</copyright>
    <lastBuildDate>Wed, 28 Jun 2017 08:45:47 +0000</lastBuildDate>
    <atom:link href="https://pprakash.me/tags/continuous-integration/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Continuous Delivery of Nested AWS CloudFormation Stacks Using AWS CodePipeline</title>
      <link>https://pprakash.me/tech/2017/06/28/codepipeline-nested-cfn/</link>
      <pubDate>Wed, 28 Jun 2017 08:45:47 +0000</pubDate>
      <guid>https://pprakash.me/tech/2017/06/28/codepipeline-nested-cfn/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://aws.amazon.com/blogs/aws/codepipeline-update-build-continuous-delivery-workflows-for-cloudformation-stacks/&#34;&gt;CodePipeline Update – Build Continuous Delivery Workflows for CloudFormation Stacks&lt;/a&gt;, Jeff Barr discusses infrastructure as code and how to use &lt;a href=&#34;https://aws.amazon.com/codepipeline/&#34;&gt;AWS CodePipeline&lt;/a&gt; for continuous delivery. In this blog post, I discuss the continuous delivery of nested CloudFormation stacks using AWS CodePipeline, with &lt;a href=&#34;https://aws.amazon.com/codecommit/&#34;&gt;AWS CodeCommit&lt;/a&gt; as the source repository and &lt;a href=&#34;https://aws.amazon.com/codebuild/&#34;&gt;AWS CodeBuild&lt;/a&gt; as a build and &lt;a href=&#34;https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/&#34;&gt;testing tool&lt;/a&gt;. I deploy the stacks using &lt;a href=&#34;http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html&#34;&gt;CloudFormation change sets&lt;/a&gt; following a &lt;a href=&#34;http://docs.aws.amazon.com/codepipeline/latest/userguide/approvals.html&#34;&gt;manual approval process&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here’s how to do it:&lt;/p&gt;&#xA;&lt;p&gt;In AWS CodePipeline, create a pipeline with four stages:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Continuous Integration - Manage shared resources across accounts automatically</title>
      <link>https://pprakash.me/2015/12/07/continuous-integration-manage-shared-resources-across-accounts-automatically/</link>
      <pubDate>Mon, 07 Dec 2015 18:28:16 +0000</pubDate>
      <guid>https://pprakash.me/2015/12/07/continuous-integration-manage-shared-resources-across-accounts-automatically/</guid>
      <description>&lt;p&gt;I prefer creating the base &lt;a href=&#34;http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharing-amis.html&#34;&gt;AMI&lt;/a&gt; using &lt;a href=&#34;https://www.packer.io/&#34;&gt;packer&lt;/a&gt;; &lt;a href=&#34;http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html&#34;&gt;RDS snapshot&lt;/a&gt; using a Jenkins job which get triggered whenever there is a change in the database schema in the SCM. In case of installers, binaries, etc. it would be best to store them in a single &lt;a href=&#34;http://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html&#34;&gt;S3 bucket&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In all the above mentioned scenarios I prefer to share those resources to a 3rd party AWS account and remove the share when not needed. Automating this would be easy to handle add/remove permissions, hence I decided to hold the sharing details in a JSON file in the SCM. Changes to that file will trigger a Jenkins job which will invoke a Lambda function which in turn will share the resources based on the values in the JSON file.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
