AWS CodeBuild Posts

CI vs. CD: What are Continuous Integration, Delivery or Development?

CI vs. CD - Continuous Integration, Delivery or Development

Today, applying CI/CD is one of the most crucial DevOps practices. CI means Continous Integration, whereas CD can be applied as either Continuous Development or Continuous Deployment. Sometimes the terminology may seem confusing and people talking about them often assume that you know them from the beginning. So, as a developer applying CI/CD for years and having launched a course about the native CI/CD solution of AWS, AWS CodePipeline, I may help you understand these DevOps concepts. In this post, I will discuss what CI and CD practices mean and explain their differences. Read more at CI vs. CD: What are Continuous Integration, Delivery or Development? post.

Deploying CloudFormation Nested Stacks With AWS CodePipeline & AWS CodeBuild

Deploying AWS CloudFormation Nested Stacks with AWS CodePipeline

AWS CodePipeline provides AWS CloudFormation Create or update stack and Create or replace change set action types to deploy your CloudFormation stacks from your pipeline. If you have joined my AWS CodePipeline Step by Step course, you would remember our example there. We automatically create a staging stack from a CloudFormation template before the manual approval action in our pipeline.

However, AWS CodePipeline’s CloudFormation action types only create stacks from deployable stack templates. Therefore, you cannot deploy your CloudFormation nested stacks with local path template definitions directly without packaging and uploading them to an S3 bucket first. In this post, I will talk about achieving this on an AWS CodePipeline pipeline using AWS CodeBuild. Read more at Deploying CloudFormation Nested Stacks With AWS CodePipeline & AWS CodeBuild post.

3 Ways for Environment Variables in AWS CodeBuild Buildspecs

Defining Environment Variables in CodeBuild Buildspec Files

AWS CodeBuild is the serverless build service of AWS, and until now, I covered various ways of using it in my previous posts. Today, I would like to talk about how to define and use environment variables in your build specification files or, in other words, buildspecs. In a build project, you can assign plain texts to your environment variables, read parameters from AWS Systems Manager Parameter Store, or retrieve secrets from AWS Secrets Manager. I will give examples to each.

Besides, you can also use AWS CodeBuild with AWS CodePipeline as a part of a CI/CD pipeline. We discuss how to do this in my AWS CodePipeline Step by Step course. Therefore, I will also give an example of exporting an environment variable from a build to be able to use it in a later pipeline action. Read more at 3 Ways for Environment Variables in AWS CodeBuild Buildspecs post.

Announcing My AWS CodePipeline Step by Step Course

AWS CodePipeline Step by Step

AWS CodePipeline is the AWS service to build and orchestrate your CI/CD workflows on AWS. Using CodePipeline with other AWS developer tools, you can model, visualize, and automate your software release process without maintaining any build or deploy servers.

Today, I am excited to announce the launch of my new course AWS CodePipeline Step by Step on Udemy! In this post, I will talk about what you will learn in this course section by section. Besides, I will also share a discount coupon special to launch in the end. Read more at Announcing My AWS CodePipeline Step by Step Course post.

Building Angular Apps with AWS CodeBuild upon Bitbucket Pushes

Bitbucket-AWS-CodeBuild-Angular-S3

If you use Bitbucket for your private Git repositories, you cannot use AWS CodePipeline to create a CI/CD pipeline. Because CodePipeline does not support Bitbucket as a source repository. However, if you still want to use AWS developer tools to automate your builds and deployments, you have an alternative. AWS CodeBuild supports Bitbucket integration as source allowing to trigger builds after push requests to a Bitbucket repository by publishing it as a webhook to it.

By the way, Angular is one of the most popular frontend frameworks and you can deploy your Angular projects in a serverless manner. So it can be reliable, scalable and cost-effective by design. You can build your code, upload to an Amazon S3 bucket and distribute it via Amazon CloudFront.

In this post, I will make an example of using a Bitbucket repository for your Angular projects and triggering builds on AWS CodeBuild after pushing your changes to it. Then your AWS CodeBuild project can build your Angular code and deploy it to an Amazon S3 bucket making it ready for distributing via CloudFront. Read more at Building Angular Apps with AWS CodeBuild upon Bitbucket Pushes post.