<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CodeBuild on Technology Enlightened</title>
    <link>https://pprakash.me/tags/codebuild/</link>
    <description>Recent content in CodeBuild 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>Sat, 20 Mar 2021 08:30:00 +0000</lastBuildDate>
    <atom:link href="https://pprakash.me/tags/codebuild/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Serverless UI testing using Selenium, AWS Lambda, AWS Fargate, and AWS Developer Tools</title>
      <link>https://pprakash.me/tech/2021/03/20/serverless-ui-testing-using-selenium-aws-lambda-aws-fargate-and-aws-developer-tools/</link>
      <pubDate>Sat, 20 Mar 2021 08:30:00 +0000</pubDate>
      <guid>https://pprakash.me/tech/2021/03/20/serverless-ui-testing-using-selenium-aws-lambda-aws-fargate-and-aws-developer-tools/</guid>
      <description>&lt;p&gt;Since the post &lt;a href=&#34;https://aws.amazon.com/blogs/devops/using-aws-codepipeline-aws-codebuild-and-aws-lambda-for-serverless-automated-ui-testing/&#34;&gt;Using AWS CodePipeline, AWS CodeBuild, and AWS Lambda for Serverless Automated UI Testing&lt;/a&gt; was published, things have evolved with &lt;a href=&#34;https://developers.google.com/web/updates/2017/04/headless-chrome&#34;&gt;Chrome headless&lt;/a&gt; and &lt;a href=&#34;https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/&#34;&gt;Firefox headless&lt;/a&gt; being supported natively. &lt;a href=&#34;https://aws.amazon.com/lambda/&#34;&gt;AWS Lambda&lt;/a&gt; now supports container images, &lt;a href=&#34;https://aws.amazon.com/step-functions/&#34;&gt;AWS Step Functions&lt;/a&gt; has added support for &lt;a href=&#34;https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-map-state.html&#34;&gt;Map state&lt;/a&gt; and its integration with Lambda, and &lt;a href=&#34;https://aws.amazon.com/fargate/&#34;&gt;AWS Fargate&lt;/a&gt; has enabled automating the UI testing completely using serverless technologies.&lt;/p&gt;&#xA;&lt;p&gt;The goal of this post is to demonstrate how to use &lt;a href=&#34;https://aws.amazon.com/products/developer-tools/&#34;&gt;AWS Developer Tools&lt;/a&gt;) to build a continuous delivery pipeline that automatically deploys a test environment and runs a UI test against it. We also explain how to build a container image which includes Chromium browser, Firefox browser, Selenium, and its dependencies, which are used in Lambda and Fargate. You can accelerate the testing by launching multiple test cases in parallel using the Map state in Step Functions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using AWS CodePipeline, AWS CodeBuild, and AWS Lambda for Serverless Automated UI Testing</title>
      <link>https://pprakash.me/tech/2017/09/23/using-aws-codepipeline-aws-codebuild-and-aws-lambda-for-serverless-automated-ui-testing/</link>
      <pubDate>Sat, 23 Sep 2017 08:21:28 +0000</pubDate>
      <guid>https://pprakash.me/tech/2017/09/23/using-aws-codepipeline-aws-codebuild-and-aws-lambda-for-serverless-automated-ui-testing/</guid>
      <description>&lt;p&gt;Testing the user interface of a web application is an important part of the development lifecycle. In this post, I’ll explain how to automate UI testing using serverless technologies, including &lt;!-- raw HTML omitted --&gt;AWS CodePipeline&lt;!-- raw HTML omitted --&gt;, &lt;!-- raw HTML omitted --&gt;AWS CodeBuild&lt;!-- raw HTML omitted --&gt;, and &lt;!-- raw HTML omitted --&gt;AWS Lambda&lt;!-- raw HTML omitted --&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I built a website for UI testing that is hosted in S3. I used Selenium to perform cross-browser UI testing on Chrome, Firefox, and PhantomJS, a headless WebKit browser with &lt;!-- raw HTML omitted --&gt;Ghost Driver&lt;!-- raw HTML omitted --&gt;, an implementation of the WebDriver Wire Protocol. I used Python to create test cases for ChromeDriver, FirefoxDriver, or PhatomJSDriver based the browser against which the test is being executed.&lt;/p&gt;&#xA;&lt;p&gt;Resources referred to in this post, including the AWS CloudFormation template, test and status websites hosted in S3, AWS CodeBuild build specification files, AWS Lambda function, and the Python script that performs the test are available in the &lt;!-- raw HTML omitted --&gt;serverless-automated-ui-testing&lt;!-- raw HTML omitted --&gt; GitHub repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Multiple Builds from the Same Source Using Different AWS CodeBuild Build Specification Files</title>
      <link>https://pprakash.me/tech/2017/08/02/create-multiple-builds-from-the-same-source-using-different-aws-codebuild-build-specification-files/</link>
      <pubDate>Wed, 02 Aug 2017 04:40:10 +0000</pubDate>
      <guid>https://pprakash.me/tech/2017/08/02/create-multiple-builds-from-the-same-source-using-different-aws-codebuild-build-specification-files/</guid>
      <description>&lt;p&gt;In June 2017, &lt;a href=&#34;https://forums.aws.amazon.com/ann.jspa?annID=4762&#34;&gt;AWS CodeBuild announced&lt;/a&gt; you can now specify an alternate build specification file name or location in an AWS CodeBuild project.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I’ll show you how to use different build specification files in the same repository to create different builds. You’ll find the source code for this post in the &lt;a href=&#34;https://github.com/p-prakash/aws-codebuild-multiple-buildspec&#34;&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://aws.amazon.com/cli/&#34;&gt;AWS CLI&lt;/a&gt; must be installed and configured.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Solution Overview&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have created a C program (cbsamplelib.c) that will be used to create a shared library and another utility program (cbsampleutil.c) to use that library. I’ll use a Makefile to compile these files.&lt;/p&gt;</description>
    </item>
    <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>
  </channel>
</rss>
