๐ This is not properly displayed? Here is the online version! ๐ก
Hi Reader ๐๐ฝ
A continuous integration and delivery system (CI/CD) is a must-have for developers because it automates the process of merging code changes, running tests, and deploying applications, ensuring faster and more reliable software releases.
It also helps identify and fix issues early on, leading to improved collaboration and overall development efficiency.
In this issue, we want to talk about AWS CodeBuild & CodePipeline, the fully-managed CI/CD services by AWS.
Let's dive into it!
โ
Excited to learn the basics? Explore our infographics that cover everything you need to know to get started with AWS's managed continuous integration & delivery services.
โ
Compiling applications usually requires a ๐ค specific environment that offers all the necessary tools, languages, and frameworks that are part of the build process.
Additionally, you want to ๐๏ธ regularly deploy changes to your application or product to ensure that the current development version available for internal or external testing doesnโt differ too much from the latest state of development. And surely, it passes regressions and therefore doesn't break existing features.
Thirdly, even a small team of developers is usually very diverse, not only from a cultural perspective but also from a technical point of view. Everyone has their own preferences for ๐ ๏ธ development tools or even operating systems.
We also want to decouple the development process from the release process and ๐ restrict manual production access by developers and team members. This is important to avoid human error. Itโs often necessary to fulfill compliance requirements that may apply in a given country.
Lastly, in cases of issues, we want to be able to ๐ข easily roll back to a previous version to restore a healthy application state.
This can be summarized as follows: We need a dedicated development environment with a reliable set of tools that can run automatically and securely, without any human intervention.
This is precisely what continuous integration and delivery services, such as AWS CodeBuild and CodePipeline, are designed for.
โ
AWS CodeBuild is not limited to just building applications. It can also handle tasks like infrastructure manipulations, modifying routing destinations, creating backups, triggering Lambda functions, and running any other scripted process. Since CodeBuild can run any container image, it has no limitations on the types of tasks it can handle.
A well-structured delivery process involves coordinating multiple jobs for reliable and secure code or infrastructure deployment. AWS CodePipeline serves as the orchestration tool for CodeBuild, allowing you to create pipelines that connect jobs into stages. This enables you to establish a replicable and comprehensible multi-step rollout process.
To understand how CodeBuild and CodePipeline work, we need to review their key terms and fundamentals.
As mentioned before, the build specs define the tasks and requirements of a job. Build specs can be divided into multiple phases to effectively plan and execute the job.
Let's have a look at an example:
As seen, besides running our build commands, archiving our distribution package, and caching our dependencies, we're also able to easily access parameters and secrets via the SSM Parameter Store or the AWS Secrets Manager.
We learned that pipelines are a coordinated set of build projects.
They enable the organization of continuous integration and deployment into stages, which include builds, quality checks, and actual deployments.
โ
Your CodeBuild and CodePipeline projects perform the most important actions in your AWS account. Therefore, monitoring is essential, just like it is for any other resource.
You can also customize the events for which you receive notifications. For example, you may choose to only be notified for failures.
Both CodeBuild and CodePipeline have several strengths.
But there are also some downsides of AWS CodeBuild and CodePipeline, including:
There's always a common saying that "the grass is always greener on the other side", but nonetheless, AWS CodeBuild and CodePipeline excel and are suitable options for almost any requirement.
โ
You've made it to the end of this newsletter! ๐
Thank you for reading! ๐งก
Have a great week!
Sandro & Tobi
Still hungry for AWS content? Have a look at our blog! ๐ โ
โ
We teach AWS for the real world - not for certifications. Join more than 10,500 developers learning how to build real-world applications on AWS.
AWS FOR THE REAL WORLD โฑ๏ธ Reading time: 17 minutes ๐ฏ Main Learning: How to build a secure, scalable AWS landing zone using AWS Organizations, Service Control Policies, and Identity Center for centralized account and user management. ๐ Blog Post Hey Reader ๐๐ฝToday I want to dig into how to set up a proper AWS landing zone. Weโll be chatting about AWS Organizations, Service Control Policies (SCPs), and Identity Center. These are the core tools I reach for when I need to get accounts organized,...
AWS FOR THE REAL WORLD โฑ๏ธ Reading time: 15 minutes ๐ฏ Main Learning: How to build an automated related posts feature by leveraging Bedrock Knowledge Bases and Amazon S3 Vectors for content discovery. ๐ Blog Post Hey Reader ๐๐ฝEver wanted to show folks โrelated postsโ but didnโt want to build your own search from scratch? Weโve been playing with Bedrock Knowledgebases and S3 vectors, and turns out, it makes that job way easier than expected.Weโll go over how you can use these tools to connect...
AWS FOR THE REAL WORLD โฑ๏ธ Reading time: 8 minutes ๐ฏ Main Learning: How to automatically generate professional AWS architecture diagrams using Amazon Q with MCP servers ๐ Blog Post Hey Reader ๐๐ฝLetโs talk about saving money on AWS. Cost surprises are no funโespecially for folks just starting out. AWS pricing looks easy at first, but there are so many little things that can trip you up if youโre not careful.Today Iโm breaking down a few simple tips that actually work for beginners. Letโs jump...