<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AWS CodeBuild Archives - The NOKIA Blog</title>
	<atom:link href="https://thenokiablog.com/tag/aws-codebuild/feed/" rel="self" type="application/rss+xml" />
	<link>https://thenokiablog.com/tag/aws-codebuild/</link>
	<description></description>
	<lastBuildDate>Mon, 19 May 2025 17:44:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://thenokiablog.com/wp-content/uploads/2024/03/cropped-Cjdowner-Cryptocurrency-Flat-ICON-ICX.512-32x32.png</url>
	<title>AWS CodeBuild Archives - The NOKIA Blog</title>
	<link>https://thenokiablog.com/tag/aws-codebuild/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AWS Weekly Roundup: Strands Agents, AWS Transform, Amazon Bedrock Guardrails, AWS CodeBuild, and more (May 19, 2025)</title>
		<link>https://thenokiablog.com/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Mon, 19 May 2025 17:44:46 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon Bedrock Guardrails]]></category>
		<category><![CDATA[Amazon CloudWatch]]></category>
		<category><![CDATA[Amazon Cognito]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Amazon Q]]></category>
		<category><![CDATA[Amazon Q Developer]]></category>
		<category><![CDATA[Amazon VPC]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS AppSync]]></category>
		<category><![CDATA[AWS CloudTrail]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS CodePipeline]]></category>
		<category><![CDATA[AWS Control Tower]]></category>
		<category><![CDATA[AWS Glue]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[AWS Systems Manager]]></category>
		<category><![CDATA[AWS Transform]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Compute]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Foundation models]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Graviton]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Serverless]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Week in Review]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025/</guid>

					<description><![CDATA[<p>Many events are taking place in this period! Last week I was at the AI Week...</p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025/">AWS Weekly Roundup: Strands Agents, AWS Transform, Amazon Bedrock Guardrails, AWS CodeBuild, and more (May 19, 2025)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab">
            <img decoding="async" src="https://thenokiablog.com/wp-content/uploads/2025/06/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025.png" alt="Voiced by Polly" width="554" height="56">
           </div>
</td>
</tr>
</tbody>
</table>
<p>Many events are taking place in this period! Last week I was at the AI Week in Italy. This week I&rsquo;ll be in Zurich for the AWS Community Day &ndash; Switzerland. On May 22, you can join us remotely for AWS Cloud Infrastructure Day to learn about cutting-edge advances across compute, AI/ML, storage, networking, serverless technologies, and global infrastructure. Look for events near you for an opportunity to share your knowledge and learn from others.</p>
<p>What got me particularly excited last Friday was the introduction of Strands Agents, an open source SDK that you can use to build and run AI agents in just a few lines of code. It can scale from simple to complex use cases, including local development and production deployment. By default, it uses Amazon Bedrock as model provider, but many others are supported, including Ollama (to run models locally), Anthropic, Llama API, and LiteLLM (to provide a unified interface for other providers such as Mistral).</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-16029" src="https://thenokiablog.com/wp-content/uploads/2025/06/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025-1.png" alt="Strands agentic loop" width="1118" height="555"></p>
<p>With Strands, you can use any Python function as a tool for your agent with the <code>@tool</code> decorator. Strands provides many example tools for manipulating files, making API requests, and interacting with AWS APIs. You can also choose from thousands of published Model Context Protocol (MCP) servers, including this suite of specialized MCP servers that help you get the most out of AWS. Multiple teams at AWS already use Strands for their AI agents in production, including Amazon Q Developer, AWS Glue, and VPC Reachability Analyzer. Read it all in Clare&rsquo;s post.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p><span><strong>Last week&rsquo;s launches</strong></span><br>Here are the other launches that got my attention:</p>
<ul>
<li>AWS Transform for .NET, the first agentic AI service for modernizing .NET applications at scale &ndash; Compared to the preview, we added new capabilities to support projects with private NuGet packages, porting model-view-controller (MVC) Razor views to ASP .NET Core Razor views, and running the ported unit tests.</li>
<li>Accelerate the modernization of Mainframe and VMware workloads with AWS Transform &ndash; To automate assessment, planning, and transformation of both mainframe and VMware workloads into cloud-based architectures, streamlining the entire process.</li>
<li>Amazon Bedrock Guardrails now supports cross-Region inference &ndash; Amazon Bedrock Guardrails provides configurable safeguards when invoking any model including those hosted in Amazon Bedrock, self-hosted models, and third-party models outside Bedrock using the ApplyGuardrail API, providing a consistent experience to help standardize safety and privacy controls. With this new capability, you get consistent throughput and enhanced resilience during periods of peak demand.</li>
<li>Amazon VPC adds CloudTrail logging for VPC resources created by default &ndash; Now, at the time of creation or deletion of the VPC, you can con view events that trigger the creation or deletion of default resources such as security group, network access control list (ACL), and route table. This provides improved visibility of VPC resources and can help you in auditing and governance.</li>
<li>AWS EC2 instances now support ENA queue allocation for your network interfaces &ndash; Elastic network adapter (ENA) queues are key components of elastic network interfaces (ENIs) to help efficiently manage network traffic by load balancing sent and received data across available queues. This flexible ENA queue allocation enables maximum vCPU utilization through optimized resource distribution. Network-intensive applications can be allocated more queues, and CPU-intensive applications can operate with fewer queues.</li>
<li>New Amazon EC2 P6-B200 instances powered by NVIDIA Blackwell GPUs to accelerate AI innovations &ndash; These instances are especially well-suited for large-scale distributed AI training and inferencing for&nbsp;foundation models (FMs)&nbsp;with reinforcement learning (RL) and distillation, multimodal training and inference, and high performance computing (HPC) applications such as climate modeling, drug discovery, seismic analysis, and insurance risk modeling.</li>
<li>AWS Control Tower introduces account-level reporting for baseline APIs &ndash; Now you can use baseline status to view enrollment for your accounts and use drift status to identify when account and organizational unit (OU) baseline configurations are out of sync.</li>
<li>Simplify AWS AppSync Events integration with Powertools for AWS Lambda &ndash;&nbsp;Powertools for AWS is a developer toolkit that includes observability, batch processing, AWS Systems Manager Parameter Store integration, idempotency, feature flags, Amazon CloudWatch metrics, structured logging, and more. Powertools for AWS now supports AppSync Events through the new resolver, available in Python, TypeScript, and .NET.</li>
<li>Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability &ndash; You can now provision a fully managed Docker server that reduces wait times, increases overall efficiency, and can maintain a persistent cache across builds.</li>
<li>AWS CodePipeline now supports deploying to AWS Lambda with traffic shifting &ndash; To publish Lambda function updates using either linear or canary deployment patterns.</li>
<li>Amazon Cognito now supports OIDC prompt parameter &ndash; To choose if users should reauthenticate explicitly (maintaining their existing authenticated sessions) or have a silent check on their authentication state.</li>
</ul>
<p><span><strong>Additional updates</strong></span><br>Here are some additional projects, blog posts, and news items that you might find interesting:</p>
<ul>
<li>Securing Amazon S3 presigned URLs for serverless applications &ndash; Focusing on the security ramifications of using Amazon S3 presigned URLs, explaining mitigation steps that developers can take to improve the security of their systems using S3 presigned URLs, and walking through an AWS Lambda function that adheres to the provided recommendations.</li>
<li>Running GenAI Inference with AWS Graviton and Arcee AI Models &ndash; While large language models (LLMs) are capable of a wide variety of tasks, they require compute resources to support hundreds of billions and sometimes trillions of parameters. Small language models (SLMs) in contrast typically have a range of 3 to 15 billion parameters and can provide responses more efficiently. In this post, we share how to optimize SLM inference workloads using AWS Graviton based instances.</li>
</ul>
<p><strong><span>Upcoming AWS events<br></span></strong>Check your calendars and sign up for these upcoming AWS events:</p>
<ul>
<li>AWS Summits &ndash; Join free online and in-person events that bring the cloud computing community together to connect, collaborate, and learn about AWS. Register in your nearest city: Dubai (May 21), Tel Aviv (May 28), Singapore (May 29), Stockholm (June 4), Sydney (June 4&ndash;5), Washington (June 10-11), and Madrid (June 11)</li>
<li>AWS Cloud Infrastructure Day &ndash; On May 22, discover the latest innovations in AWS Cloud infrastructure technologies at this exclusive technical event.</li>
<li>AWS re:Inforce &ndash; Mark your calendars for AWS re:Inforce (June 16&ndash;18) in Philadelphia, PA. AWS re:Inforce is a learning conference focused on AWS security solutions, cloud security, compliance, and identity.</li>
<li>AWS Partners Events &ndash; You&rsquo;ll find a variety of AWS Partner events that will inspire and educate you, whether you&rsquo;re just getting started on your cloud journey or you&rsquo;re looking to solve new business challenges.</li>
<li>AWS Community Days &ndash; Join community-led conferences that feature technical discussions, workshops, and hands-on labs led by expert AWS users and industry leaders from around the world: Zurich, Switzerland (May 22), Bengaluru, India (May 23), Yerevan, Armenia (May 24), Milwaukee, USA (June 5), and Nairobi, Kenya (June 14)</li>
</ul>
<p>That&rsquo;s all for this week. Check back next Monday for another Weekly Roundup!</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>&ndash; Danilo</p>
<p>       <!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-strands-agents-aws-transform-amazon-bedrock-guardrails-aws-codebuild-and-more-may-19-2025/">AWS Weekly Roundup: Strands Agents, AWS Transform, Amazon Bedrock Guardrails, AWS CodeBuild, and more (May 19, 2025)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability</title>
		<link>https://thenokiablog.com/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Thu, 15 May 2025 19:12:33 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS CLI]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[Compute]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Regions]]></category>
		<category><![CDATA[Storage]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability/</guid>

					<description><![CDATA[<p>Starting today, you can use AWS CodeBuild Docker Server capability to provision a dedicated and persistent...</p>
<p>The post <a href="https://thenokiablog.com/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability/">Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab">
            <img decoding="async" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability.png" alt="Voiced by Polly" width="554" height="56">
           </div>
</td>
</tr>
</tbody>
</table>
<p>Starting today, you can use AWS CodeBuild Docker Server capability to provision a dedicated and persistent Docker server directly within your CodeBuild project. With Docker Server capability, you can accelerate your Docker image builds by centralizing image building to a remote host, which reduces wait times and increases overall efficiency.</p>
<p>From my benchmark, with this Docker Server capability, I reduced the total building time by 98 percent, from 24 minutes and 54 seconds to 16 seconds. Here&rsquo;s a quick look at this feature from my AWS CodeBuild projects.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-95729" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-1.png" alt width="2692" height="1035"></p>
<p>AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages ready for deployment. Building Docker images is one of the most common use cases for CodeBuild customers, and the service has progressively improved this experience over time by releasing features such as Docker layer caching and reserved capacity features to improve Docker build performance.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p>With the new Docker Server capability, you can reduce build time for your applications by providing a persistent Docker server with consistent caching. When enabled in a CodeBuild project, a dedicated Docker server is provisioned with persistent storage that maintains your Docker layer cache. This server can handle multiple concurrent Docker build operations, with all builds benefiting from the same centralized cache.</p>
<p><span><strong>Using AWS CodeBuild Docker Server</strong></span><br>Let me walk you through a demonstration that showcases the benefits with the new Docker Server capability.</p>
<p>For this demonstration, I&rsquo;m building a complex, multi-layered Docker image based on the official AWS CodeBuild curated Docker images repository, specifically the Dockerfile for building a standard Ubuntu image. This image contains numerous dependencies and tools required for modern continuous integration and continuous delivery (CI/CD) pipelines, making it a good example of the type of large Docker builds that development teams regularly perform.</p>
<pre><code class="language-dockerfile">
# Copyright 2020-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Amazon Software License (the "License"). You may not use this file except in compliance with the License.
# A copy of the License is located at
#
#    http://aws.amazon.com/asl/
#
# or in the "license" file accompanying this file.
# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied.
# See the License for the specific language governing permissions and limitations under the License.
FROM public.ecr.aws/ubuntu/ubuntu:20.04 AS core

ARG DEBIAN_FRONTEND="noninteractive"

# Install git, SSH, Git, Firefox, GeckoDriver, Chrome, ChromeDriver,  stunnel, AWS Tools, configure SSM, AWS CLI v2, env tools for runtimes: Dotnet, NodeJS, Ruby, Python, PHP, Java, Go, .NET, Powershell Core,  Docker, Composer, and other utilities
COMMAND REDACTED FOR BREVITY
# Activate runtime versions specific to image version.
RUN n $NODE_14_VERSION
RUN pyenv  global $PYTHON_39_VERSION
RUN phpenv global $PHP_80_VERSION
RUN rbenv  global $RUBY_27_VERSION
RUN goenv global  $GOLANG_15_VERSION

# Configure SSH
COPY ssh_config /root/.ssh/config
COPY runtimes.yml /codebuild/image/config/runtimes.yml
COPY dockerd-entrypoint.sh /usr/local/bin/dockerd-entrypoint.sh
COPY legal/bill_of_material.txt /usr/share/doc/bill_of_material.txt
COPY amazon-ssm-agent.json /etc/amazon/ssm/amazon-ssm-agent.json

ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh"]
</code></pre>
<p>This Dockerfile creates a comprehensive build environment with multiple programming languages, build tools, and dependencies &ndash; exactly the type of image that would benefit from persistent caching.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>In the build specification (buildspec), I use the <code>docker buildx build .</code> command:</p>
<pre><code class="language-yaml">version: 0.2
phases:
  build:
    commands:
      - cd ubuntu/standard/5.0
      - docker buildx build -t codebuild-ubuntu:latest .
</code></pre>
<p>To enable the Docker Server capability, I navigate to the AWS CodeBuild console and select <strong>Create project</strong>. I can also enable this capability when editing existing CodeBuild projects.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-95616" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-2.png" alt width="3024" height="1716"></p>
<p>I fill in all details and configuration. In the <strong>Environment</strong> section, I select <strong>Additional configuration</strong>.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/gone-phishing-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Gone Phishing | cPanel Blog</span></a></div><p><img decoding="async" loading="lazy" class="aligncenter wp-image-95730 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-3.png" alt width="2646" height="3256"></p>
<p>Then, I scroll down and find <strong>Docker server configuration</strong> and select <strong>Enable docker server for this project</strong>. When I select this option, I can choose a compute type configuration for the Docker server. When I&rsquo;m finished with the configurations, I create this project.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-95833 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-4.png" alt width="917" height="385"></p>
<p>Now, let&rsquo;s see the Docker Server capability in action.</p>
<p>The initial build takes approximately 24 minutes and 54 seconds to complete because it needs to download and compile all dependencies from scratch. This is expected for the first build of such a complex image.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-95732" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-5.png" alt width="2708" height="2071"></p>
<p>For subsequent builds with no code changes, the build takes only 16 seconds and that shows 98% reduction in build time.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-95733" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-6.png" alt width="2696" height="2080"></p>
<p>Looking at the logs, I can see that with Docker Server, most layers are pulled from the persistent cache:</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-95734 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/05/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability-7.png" alt width="2664" height="2548"></p>
<p>The persistent caching provided by the Docker Server maintains all layers between builds, which is particularly valuable for large, complex Docker images with many layers. This demonstrates how Docker Server can dramatically improve throughput for teams running numerous Docker builds in their CI/CD pipelines.</p>
<p><span><strong>Additional things to know</strong></span><br>Here are a couple of things to note:</p>
<ul>
<li><strong>Architecture support</strong> &ndash; The feature is available for both x86 (Linux) and ARM builds.</li>
<li><strong>Pricing</strong> &ndash; To learn more about pricing for Docker Server capability, refer to the AWS CodeBuild pricing page.</li>
<li><strong>Availability</strong> &ndash; This feature is available in all AWS Regions where AWS CodeBuild is offered. For more information about the AWS Regions where CodeBuild is available, see the AWS Regions page.</li>
</ul>
<p>You can learn more about the Docker Server feature in the AWS CodeBuild documentation.</p>
<p>Happy building! &mdash;</p>
<p>Donnie Prakoso</p>
<hr>
<p>How is the News Blog doing? Take this 1 minute survey!</p>
<p><em>(This survey is hosted by an external company. AWS handles your information as described in the AWS Privacy Notice. AWS will own the data gathered via this survey and will not share the information collected with survey respondents.)</em></p>
<p>       <!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability/">Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Accelerating CI with AWS CodeBuild: Parallel test execution now available</title>
		<link>https://thenokiablog.com/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Thu, 27 Mar 2025 18:14:29 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Amazon Q]]></category>
		<category><![CDATA[Amazon Q Developer]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[AWS Management Console]]></category>
		<category><![CDATA[Compute]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Regions]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available/</guid>

					<description><![CDATA[<p>I&#8217;m excited to announce that AWS CodeBuild now supports parallel test execution, so you can run...</p>
<p>The post <a href="https://thenokiablog.com/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available/">Accelerating CI with AWS CodeBuild: Parallel test execution now available</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab">
            <img loading="lazy" decoding="async" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available.png" alt="Voiced by Polly" width="554" height="56">
           </div>
</td>
</tr>
</tbody>
</table>
<p>I&rsquo;m excited to announce that AWS CodeBuild now supports parallel test execution, so you can run your test suites concurrently and reduce build times significantly.</p>
<p>With the demo project I wrote for this post, the total test time went down from 35 minutes to 6 minutes, including the time to provision the environments. These two screenshots from the AWS Management Console show the difference.</p>
<p><strong>Sequential execution of the test suite</strong></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-94688" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-1.png" alt="CodeBuild Parallel Test Results" width="800" height="181"></p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p><strong>Parallel execution of the test suite</strong></p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94689" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-2.png" alt="CodeBuild Parallel Test Results" width="800" height="181"></p>
<p>Very long test times pose a significant challenge when running continuous integration (CI) at scale. As projects grow in complexity and team size, the time required to execute comprehensive test suites can increase dramatically, leading to extended pipeline execution times. This not only delays the delivery of new features and bug fixes, but also hampers developer productivity by forcing them to wait for build results before proceeding with their tasks. I have experienced pipelines that took up to 60 minutes to run, only to fail at the last step, requiring a complete rerun and further delays. These lengthy cycles can erode developer trust in the CI process, contribute to frustration, and ultimately slow down the entire software delivery cycle. Moreover, long-running tests can lead to resource contention, increased costs because of wasted computing power, and reduced overall efficiency of the development process.</p>
<p>With parallel test execution in CodeBuild, you can now run your tests concurrently across multiple build compute environments. This feature implements a sharding approach where each build node independently executes a subset of your test suite. CodeBuild provides environment variables that identify the current node number and the total number of nodes, which are used to determine which tests each node should run. There is no control build node or coordination between nodes at build time&mdash;each node operates independently to execute its assigned portion of your tests.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>To enable test splitting, configure the batch fanout section in your <code>buildspec.xml</code>, specifying the desired parallelism level and other relevant parameters. Additionally, use the codebuild-tests-run utility in your build step, along with the appropriate test commands and the chosen splitting method.</p>
<p>The tests are split based on the sharding strategy you specify. <code>codebuild-tests-run</code> offers two sharding strategies:</p>
<ul>
<li><strong>Equal-distribution.</strong> This strategy sorts test files alphabetically and distributes them in chunks equally across parallel test environments. Changes in the names or quantity of test files might reassign files across shards.</li>
<li><strong>Stability.</strong> This strategy fixes the distribution of tests across shards by using a consistent hashing algorithm. It maintains existing file-to-shard assignments when new files are added or removed.</li>
</ul>
<p>CodeBuild supports automatic merging of test reports when running tests in parallel. With automatic test report merging, CodeBuild consolidates tests reports into a single test summary, simplifying result analysis. The merged report includes aggregated pass/fail statuses, test durations, and failure details, reducing the need for manual report processing. You can view the merged results in the CodeBuild console, retrieve them using the AWS Command Line Interface (AWS CLI), or integrate them with other reporting tools to streamline test analysis.</p>
<p><span><strong>Let&rsquo;s look at how it works</strong></span><br>Let me demonstrate how to implement parallel testing in a project. For this demo, I created a very basic Python project with hundreds of tests. To speed things up, I asked Amazon Q Developer on the command line to create a project and 1,800 test cases. Each test case is in a separate file and takes one second to complete. Running all tests in a sequence requires 30 minutes, excluding the time to provision the environment.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/gone-phishing-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Gone Phishing | cPanel Blog</span></a></div><p>In this demo, I run the test suite on ten compute environments in parallel and measure how long it takes to run the suite.</p>
<p>To do so, I added a <code>buildspec.yml</code> file to my project.</p>
<pre><code class="lang-yaml">version: 0.2

batch:
  fast-fail: false
  build-fanout:
    parallelism: 10 # ten runtime environments 
    ignore-failure: false

phases:
  install:
    commands:
      - echo 'Installing Python dependencies'
      - dnf install -y python3 python3-pip
      - pip3 install --upgrade pip
      - pip3 install pytest
  build:
    commands:
      - echo 'Running Python Tests'
      - |
         codebuild-tests-run 
          --test-command 'python -m pytest --junitxml=report/test_report.xml' 
          --files-search "codebuild-glob-search 'tests/test_*.py'" 
          --sharding-strategy 'equal-distribution'
  post_build:
    commands:
      - echo "Test execution completed"

reports:
  pytest_reports:
    files:
      - "*.xml"
    base-directory: "report"
    file-format: JUNITXML </code></pre>
<p>There are three parts to highlight in the YAML file.</p>
<p>First, there&rsquo;s a <code>build-fanout</code> section under <code>batch</code>. The <code>parallelism</code> command tells CodeBuild how many test environments to run in parallel. The <code>ignore-failure</code> command indicates if failure in any of the fanout build tasks can be ignored.</p>
<p>Second, I use the pre-installed <code>codebuild-tests-run</code> command to run my tests.</p>
<p>This command receives the complete list of test files and decides which of the tests must be run on the current node.</p>
<ul>
<li>Use the <code>sharding-strategy</code> argument to choose between equally distributed or stable distribution, as I explained earlier.</li>
<li>Use the <code>files-search</code> argument to pass all the files that are candidates for a run. We recommend to use the provided <code>codebuild-glob-search</code> command for performance reasons, but any file search tool, such as find(1), will work.</li>
<li>I pass the actual test command to run on the shard with the <code>test-command</code> argument.</li>
</ul>
<p>Lastly, the <code>reports</code> section instructs CodeBuild to collect and merge the test reports on each node.</p>
<p>Then, I open the CodeBuild console to create a project and a batch build configuration for this project. There&rsquo;s nothing new here, so I&rsquo;ll spare you the details. The documentation has all the details to get you started.&nbsp; <strong>Parallel testing works on batch builds. Make sure to configure your project to run in batch</strong>.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-94361" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-3.png" alt="CodeBuild : create a batch build" width="822" height="937"></p>
<p>Now, I&rsquo;m ready to trigger an execution of the test suite. I can commit new code on my GitHub repository or trigger the build in the console.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-94360" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-4.png" alt="CodeBuild : trigger a new build" width="1547" height="295"></p>
<p>After a few minutes, I see a status report of the different steps of the build; with a status for each test environment or shard.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94494 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-5.png" alt="CodeBuild: status" width="1412" height="1209"></p>
<p>When the test is complete, I select the <strong>Reports</strong> tab to access the merged test reports.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-94363" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-6.png" alt="CodeBuild: test reports" width="1558" height="759"></p>
<p>The <strong>Reports</strong> section aggregates all test data from all shards and keeps the history for all builds. I select my most recent build in the <strong>Report history</strong> section to access the detailed report.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94495 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/03/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available-7.png" alt="CodeBuild: Test Report" width="1422" height="1191"></p>
<p>As expected, I can see the aggregated and the individual status for each of my 1,800 test cases. In this demo, they&rsquo;re all passing, and the report is green.</p>
<p>The 1,800 tests of the demo project take one second each to complete. When I run this test suite sequentially, it took 35 minutes to complete. When I run the test suite in parallel on ten compute environments, it took 6 minutes to complete, including the time to provision the environments. <strong>The parallel run took 17.9 percent of the time of the sequential run</strong>. Actual numbers will vary with your projects.</p>
<p><span><strong>Additional things to know<br></strong></span>This new capability is compatible with all testing frameworks. The documentation includes examples for Django, Elixir, Go, Java (Maven), Javascript (Jest), Kotlin, PHPUnit, Pytest, Ruby (Cucumber), and Ruby (RSpec).</p>
<p>For test frameworks that don&rsquo;t accept space-separated lists, the codebuild-tests-run CLI provides a flexible alternative through the <code>CODEBUILD_CURRENT_SHARD_FILES</code> environment variable. This variable contains a newline-separated list of test file paths for the current build shard. You can use it to adapt to different test framework requirements and format test file names.</p>
<p>You can further customize how tests are split across environments by writing your own sharding script and using the <code>CODEBUILD_BATCH_BUILD_IDENTIFIER</code> environment variable, which is automatically set in each build. You can use this technique to implement framework-specific parallelization or optimization.</p>
<p><span><strong>Pricing and availability<br></strong></span>With parallel test execution, you can now complete your test suites in a fraction of the time previously required, accelerating your development cycle and improving your team&rsquo;s productivity.</p>
<p>Parallel test execution is available on all three compute modes offered by CodeBuild: on-demand, reserved capacity, and AWS Lambda compute.</p>
<p>This capability is available today in all AWS Regions where CodeBuild is offered, with no additional cost beyond the standard CodeBuild pricing&nbsp;for the compute resources used.</p>
<p>I invite you to try parallel test execution in CodeBuild today. Visit the AWS CodeBuild documentation to learn more and get started with parallelizing your tests.</p>
<p>       &mdash; seb </p>
<p>PS: Here&rsquo;s the prompt I used to create the demo application and its test suite: &ldquo;I&rsquo;m writing a blog post to announce codebuild parallel testing. Write a very simple python app that has hundreds of tests, each test in a separate test file. Each test takes one second to complete.&rdquo;</p>
<hr>
<p>How is the News Blog doing? Take this 1 minute survey!</p>
<p><em>(This survey is hosted by an external company. AWS handles your information as described in the AWS Privacy Notice. AWS will own the data gathered via this survey and will not share the information collected with survey respondents.)</em></p>
<p>       <!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/accelerating-ci-with-aws-codebuild-parallel-test-execution-now-available/">Accelerating CI with AWS CodeBuild: Parallel test execution now available</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS Weekly Roundup: Amazon Q CLI agent, AWS Step Functions, AWS Lambda, and more (March 10, 2025)</title>
		<link>https://thenokiablog.com/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Mon, 10 Mar 2025 16:41:16 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon Bedrock Knowledge Bases]]></category>
		<category><![CDATA[Amazon CloudWatch]]></category>
		<category><![CDATA[Amazon Cognito]]></category>
		<category><![CDATA[Amazon FSx]]></category>
		<category><![CDATA[Amazon GameLift]]></category>
		<category><![CDATA[Amazon Q]]></category>
		<category><![CDATA[Amazon Q Business]]></category>
		<category><![CDATA[Amazon Q Developer]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS Amplify]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[AWS Management Console]]></category>
		<category><![CDATA[AWS Step Functions]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Compute]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Regions]]></category>
		<category><![CDATA[Week in Review]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025/</guid>

					<description><![CDATA[<p>As the weather improves in the Northern hemisphere, there are more opportunities to learn and connect....</p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025/">AWS Weekly Roundup: Amazon Q CLI agent, AWS Step Functions, AWS Lambda, and more (March 10, 2025)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab">
            <img loading="lazy" decoding="async" src="https://thenokiablog.com/wp-content/uploads/2025/03/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025.png" alt="Voiced by Polly" width="554" height="56">
           </div>
</td>
</tr>
</tbody>
</table>
<p>As the weather improves in the Northern hemisphere, there are more opportunities to learn and connect. This week, I&rsquo;ll be in San Francisco, and we can meet at the Nova Networking Night at the AWS GenAI Loft where we&rsquo;ll dive into the world of Amazon Nova foundation models (FMs) with live demos and real-world implementations.</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-94094 alignright" src="https://thenokiablog.com/wp-content/uploads/2025/03/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025-1.png" alt width="200" height="119"><strong>AWS Pi Day </strong>is now a yearly tradition. It started in 2021 as a celebration of the 15th anniversary of Amazon S3. This year, there will be in-depth discussions with AWS product teams on how to build a data foundation for a unified seamless experience, managing and using data for analytics and AI workloads. Join us online to learn about the latest innovations through hands-on demos, and ask questions during our interactive livestream.</p>
<p><span><strong>Last week&rsquo;s launches</strong></span><br>Another busy week, here are the launches that got my attention.</p>
<p>Amazon Q Developer &ndash; You can now use an enhanced agent within the Amazon Q command line interface (CLI) to give you more dynamic conversations, help you read and write files locally, query AWS resources, or create code. This enhanced CLI agent is powered by Anthropic&rsquo;s most intelligent model to date, Claude 3.7 Sonnet. Read more about this agenic coding experience and how to try it out. Here&rsquo;s a visual demo of the new capabilities of Amazon Q CLI, by Nathan Peck.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p>Amazon Q Business &ndash; Now supports the ingestion of audio and video data. This capability streamlines information retrieval, enhances knowledge sharing, and improves decision-making processes, by making multimedia content as searchable and accessible as text-based documents.</p>
<p>Amazon Bedrock &ndash; Bedrock Data Automation is now generally available, so you can automate the generation of valuable insights from unstructured multimodal content such as documents, images, video, and audio files. Learn more and see code examples in my blog post. Amazon Bedrock Knowledge Bases support for GraphRAG is now also generally available. GraphRAG is a capability that enhances Retrieval-Augmented Generation (RAG) by incorporating graph data and delivers more comprehensive, relevant, and explainable responses by leveraging relationships within your data, improving how Generative AI applications retrieve and synthesize information.</p>
<p>Amazon Nova &ndash; The Amazon Nova Pro foundation model now supports latency-optimized inference in preview on Amazon Bedrock, enabling faster response times and improved responsiveness for generative AI applications.</p>
<p>AWS Step Functions &ndash; Workflow Studio for VS Code is now available, a visual builder you can use to compose workflows on a canvas. You can generate workflow definitions in the background to create workflows in your local development environment. Read more about this enhanced local IDE experience.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>AWS Lambda &ndash; Now supports Amazon CloudWatch Logs Live Tail in VS Code. We previously introduced support for Live Tail in the Lambda console to simplify how you can view and analyze Lambda logs in real time. Now, you can also monitor Lambda function logs in real time while staying within the VS Code development environment.</p>
<p>AWS Amplify &ndash; Now supports HttpOnly cookies for server-rendered Next.js applications when using Amazon Cognito&rsquo;s managed login. Because cookies with the HttpOnly attribute can&rsquo;t be accessed by JavaScript, your applications can gain an additional layer of protection against cross-site scripting (XSS) attacks.</p>
<p>Amazon Cognito &ndash; You can now customize access tokens for machine-to-machine (M2M) flows, enabling you to implement fine-grained authorization in your applications, APIs, and workloads. M2M authorization is commonly used for automated processes such as scheduled data synchronization tasks, event-driven workflows, microservices communication, or real-time data streaming between systems.</p>
<p>AWS CodeBuild &ndash; Now supports builds on Linux x86, Arm, and Windows on-demand fleets directly on the host operating system without containerization. In this way, you can now execute build commands that require direct access to the host system resources or have specific requirements that make containerization challenging. For example, this is useful when building device drivers, running system-level tests, or working with tools that require host machine access. CodeBuild has also added support for Node 22, Python 3.13, and Go 1.23 in Linux x86, Arm, Windows, and macOS platforms.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/gone-phishing-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Gone Phishing | cPanel Blog</span></a></div><p>Bottlerocket &ndash; The open source Linux-based operating system purpose-built for containers now supports NVIDIA&rsquo;s Multi-Instance GPU (MIG) to help partition NVIDIA GPUs into multiple GPU instances on Kubernetes nodes and maximize GPU resource utilization. Bottlerocket now also supports AWS Neuron accelerated instance types and provides a default bootstrap container image that simplifies system setup tasks.</p>
<p>Amazon GameLift &ndash; Introducing Amazon GameLift Streams, a new managed capability that developers can use to stream games at up to 1080p resolution and 60 frames per second to any device with a WebRTC-enabled browser. To learn more, explore Donnie&rsquo;s blog post.</p>
<p>Amazon FSx for NetApp ONTAP &ndash; Starting March 5, 2025, the SnapLock licensing fees for data stored in SnapLock volumes has been eliminated, making it more cost-effective.</p>
<p><span><strong>Other AWS news</strong></span><br>Here are some additional projects, blog posts, and news items that you might find interesting:</p>
<p>Accelerate AWS Well-Architected reviews with Generative AI &ndash; In this post, we explore a generative AI solution to streamline the Well-Architected Framework Reviews (WAFRs) process. We demonstrate how to build an intelligent, scalable system that analyzes architecture documents and generates insightful recommendations based on best practices.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94001" src="https://thenokiablog.com/wp-content/uploads/2025/03/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025-2.png" alt="Architectural diagram" width="600" height="316"></p>
<p>Build a Multi-Agent System with LangGraph and Mistral on AWS &ndash; The Multi-Agent City Information System demonstrated in this post exemplifies the potential of agent-based architectures to create sophisticated, adaptable, and highly capable AI applications.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94002" src="https://thenokiablog.com/wp-content/uploads/2025/03/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025-3.png" alt="Reference architecture" width="600" height="427"></p>
<p>Evaluate RAG responses with Amazon Bedrock, LlamaIndex and RAGAS &ndash; How to enhance your Retrieval Augmented Generation (RAG) implementations with practical techniques to evaluate and optimize your AI systems and enable more accurate, context-aware responses that align with your specific needs.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-94003" src="https://thenokiablog.com/wp-content/uploads/2025/03/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025-4.png" alt="Architectural diagram" width="600" height="295"></p>
<p><span><strong>From community.aws</strong></span><br>Here are some of my favorite posts from community.aws. Create your AWS Builder ID to start sharing your tips and connect with fellow builders. Your Builder ID is a universal login credential that gives you access, beyond the AWS Management Console, to AWS tools and resources, including over 600 free training courses, community features, and developer tools such as Amazon Q Developer.</p>
<p>Optimize AWS Lambda Costs with Automated Compute Optimizer Insights (Zechariah Kasina) &ndash; An automated and scalable method for optimizing AWS Lambda memory configurations to enhance cost efficiency and performance.</p>
<p>Optimize AWS Costs: Auto-Shutdown for EC2 Instances (Adeleke Adebowale Julius) &ndash; Using&nbsp;Amazon CloudWatch&nbsp;alarms to dynamically shut down instances based on inactivity.</p>
<p>The Evolution of the Developer Role in an AI-Assisted Future (Aaron Sempf) &ndash; While AI is transforming software development, the need for developing talent remains crucial.</p>
<p>Amazon Q Developer CLI &ndash; More coffee, less remembering commands (Cobus Bernard) &ndash; Now that you can use Amazon Q Developer directly from your terminal to interact with your files, so let&rsquo;s add some convenience automations.</p>
<p><span><strong>Upcoming AWS events</strong></span><br>Check your calendars and sign up for these upcoming AWS events:</p>
<p>AWS Community Days&nbsp;&ndash; Join community-led conferences that feature technical discussions, workshops, and hands-on labs led by expert AWS users and industry leaders from around the world:&nbsp;Milan, Italy&nbsp;(April 2),&nbsp;Bay Area &ndash; Security Edition&nbsp;(April 4),&nbsp;Timi&#537;oara, Romania&nbsp;(April 10), and&nbsp;Prague, Czech Republic&nbsp;(April 29).</p>
<p>AWS Innovate: Generative AI + Data &ndash; Join a free online conference focusing on generative AI and data innovations. Available in multiple geographic regions: North America (March 13), Greater China Region (March 14), and Latin America (April 8).</p>
<p>AWS Summits &ndash; The AWS Summit season is coming along! Join free online and in-person events that bring the cloud computing community together to connect, collaborate, and learn about AWS. Register in your nearest city: Paris (April 9), Amsterdam (April 16), London (April 30), and Poland (May 5).</p>
<p>AWS re:Inforce (June 16&ndash;18) &ndash; Our annual learning event devoted to all things AWS Cloud security. This year is in Philadelphia, PA. Registration opens in March, so be ready to join more than 5,000 security builders and leaders.</p>
<p>AWS DevDays are free, technical events where developers can learn about some of the hottest topics in cloud computing. DevDays offer hands-on workshops, technical sessions, live demos, and networking with AWS technical experts and your peers. Register to access AWS DevDays sessions on demand.</p>
<p>That&rsquo;s all for this week. Check back next Monday for another Weekly Roundup!</p>
<p>&ndash; Danilo</p>
<p><em>This post is part of our&nbsp;Weekly Roundup&nbsp;series. Check back each week for a quick roundup of interesting news and announcements from AWS!</em></p>
<p>&mdash;</p>
<p>How is the News Blog doing? Take this 1 minute survey!</p>
<p><em>(This survey is hosted by an external company. AWS handles your information as described in the AWS Privacy Notice. AWS will own the data gathered via this survey and will not share the information collected with survey respondents.)</em></p>
<p>       <!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-amazon-q-cli-agent-aws-step-functions-aws-lambda-and-more-march-10-2025/">AWS Weekly Roundup: Amazon Q CLI agent, AWS Step Functions, AWS Lambda, and more (March 10, 2025)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS CodeBuild for macOS adds support for Fastlane</title>
		<link>https://thenokiablog.com/aws-codebuild-for-macos-adds-support-for-fastlane/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Wed, 05 Feb 2025 23:00:35 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Amazon EC2 Mac Instances]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS Amplify]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS Management Console]]></category>
		<category><![CDATA[AWS Mobile Development]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Regions]]></category>
		<category><![CDATA[Storage]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/aws-codebuild-for-macos-adds-support-for-fastlane/</guid>

					<description><![CDATA[<p>I&#8217;m pleased to announce the availability of Fastlane in your AWS CodeBuild for macOS environments. AWS...</p>
<p>The post <a href="https://thenokiablog.com/aws-codebuild-for-macos-adds-support-for-fastlane/">AWS CodeBuild for macOS adds support for Fastlane</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab">
            <img loading="lazy" decoding="async" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane.png" alt="Voiced by Polly" width="554" height="56">
           </div>
</td>
</tr>
</tbody>
</table>
<p>I&rsquo;m pleased to announce the availability of Fastlane in your AWS CodeBuild for macOS environments. AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces ready-to-deploy software packages.</p>
<p>Fastlane is an open source tool suite designed to automate various aspects of mobile application development. It provides mobile application developers with a centralized set of tools to manage tasks such as code signing, screenshot generation, beta distribution, and app store submissions. It integrates with popular continuous integration and continuous deployment (CI/CD) platforms and supports both iOS and Android development workflows. Although Fastlane offers significant automation capabilities, developers may encounter challenges during its setup and maintenance. Configuring Fastlane can be complex, particularly for teams unfamiliar with the syntax and package management system of Ruby. Keeping Fastlane and its dependencies up to date requires ongoing effort, because updates to mobile platforms or third-party services may necessitate adjustments to existing workflows.</p>
<p>When we introduced CodeBuild for macOS in August 2024, we knew that one of your challenges was to install and maintain Fastlane in your build environment. Although it was possible to manually install Fastlane in a custom build environment, at AWS, we remove the undifferentiated heaving lifting from your infrastructure so you can spend more time on the aspects that matter for your business. Starting today, Fastlane is installed by default, and you can use the familiar command <code>fastlane build</code>in your <code>buildspec.yaml</code> file.</p>
<p><span><strong>Fastlane and code signing<br></strong></span>To distribute an application on the App Store, developers must sign their binary with a private key generated on the Apple Developer portal. This private key, along with the certificate that validates it, must be accessible during the build process. This can be a challenge for development teams because they need to share the development private key (which allows deployment on selected test devices) among team members. Additionally, the distribution private key (which enables publishing on the App Store) must be available during the signing process before uploading the binary to the App Store.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p>Fastlane is a versatile build system in that it also helps developers with the management of development and distribution keys and certificates. Developers can use <code>fastlane match</code> to share signing materials in a team and make them securely and easily accessible on individual developers&rsquo; machines and on the CI environment. <code>match</code> allows the storage of private keys, the certificates, and the mobile provisioning profiles on a secured share storage. It makes sure that the local build environment, whether it&rsquo;s a developer laptop or a server machine in the cloud, stays in sync with the shared storage. At build time, it securely downloads the required certificates to sign your app and configures the build machine to allow the <code>codesign</code> utility to pick them up.</p>
<p><code>match</code> allows the sharing of signing secrets through GitHub, GitLab, Google Cloud Storage, Azure DevOps, and Amazon Simple Storage Service (Amazon S3).</p>
<p>If you already use one of these and you&rsquo;re migrating your projects to CodeBuild, you don&rsquo;t have much to do. You only need to make sure your CodeBuild build environment has access to the shared storage (see step 3 in the demo).</p>
<p><span><strong>Let&rsquo;s see how it works<br></strong></span>If you&rsquo;re new to Fastlane or CodeBuild, let&rsquo;s see how it works.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>For this demo, I start with an existing iOS project. The project is already configured to be built on CodeBuild. You can refer to my previous blog post, Add macOS to your continuous integration pipelines with AWS CodeBuild, to learn more details.</p>
<p>I&rsquo;ll show you how to get started in three steps:</p>
<ul>
<li>Import your existing signing materials to a shared private GitHub repository</li>
<li>Configure <code>fastlane</code> to build and sign your project</li>
<li>Use <code>fastlane</code>with CodeBuild</li>
</ul>
<p><strong>Step 1: Import your signing materials</strong></p>
<p>Most of the <code>fastlane</code> documentation I read explains how to create a new key pair and a new certificate to get started. Although this is certainly true for new projects, in real life, you probably already have your project and your signing keys. So, the first step is to import these existing signing materials.</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/gone-phishing-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Gone Phishing | cPanel Blog</span></a></div><p>Apple App Store uses different keys and certificates for development and distribution (there are also ad hoc and enterprise certificates, but these are outside the scope of this post). You must have three files for each usage (that&rsquo;s a total of six files):</p>
<ul>
<li>A <code>.mobileprovision</code> file that you can create and download from the Apple developer console. The provisioning profile links your identity, the app identity, and the entitlements the app might have.</li>
<li>A <code>.cer</code> file, which is the certificate emitted by Apple to validate your private key. You can download this from the Apple Developer portal. Select the certificate, then select <strong>Download</strong>.</li>
<li>A <code>.p12</code> file, which contains your private key. You can download the key when you create it in the Apple Developer portal. If you didn&rsquo;t download it but have it on your machine, you can export it from the Apple Keychain app. Note that the KeyChain.app is hidden in macOS 15.x. You can open it with <code>open /System/Library/CoreServices/Applications/Keychain Access.app</code>. Select the key you want to export and right click to select <strong>Export.</strong></li>
</ul>
<table>
<tbody>
<tr>
<td><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-93462" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane-1.png" alt="Export p12 files from Keychain" width="1024" height="561"></td>
<td><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-93463" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane-2.png" alt width="1286" height="450"></td>
</tr>
</tbody>
</table>
<p>When you have these files, create a <code>fastlane/Matchfile</code> file with the following content:</p>
<pre><code class="lang-ruby">git_url("https://github.com/sebsto/secret.git")
storage_mode("git")
type("development")
# or use appstore to use the distribution signing key and certificate
# type("appstore")</code></pre>
<p>Be sure to replace the URL of your GitHub repository and <span><strong>make sure this repository is private</strong></span>. It will serve as a storage for your signing key and certificate.</p>
<p>Then, I import my existing files with the <code>fastlane match import --type appstore</code> command. I repeat the command for each environment: <code>appstore</code> and <code>development</code>.</p>
<p>The very first time, <code>fastlane</code> prompts me for my Apple Id username and password. It connects to App Store Connect to verify the validity of the certificates or to create new ones when necessary. The session cookie is stored in <code>~/.fastlane/spaceship/&lt;your apple user id&gt;/cookie</code>.</p>
<p><code>fastlane match</code> also asks for a password. It uses this password to generate a key to crypt the signing materials on the storage. Don&rsquo;t forget this password because it will be used at build time to import the signing materials on the build machine.</p>
<p>Here is the command and its output in full:</p>
<pre><code class="lang-bash"> fastlane match import --type appstore

[&#10004;] &#128640;
[16:43:54]: Successfully loaded '~/amplify-ios-getting-started/code/fastlane/Matchfile' &#128196;

+-----------------------------------------------------+
| Detected Values from './fastlane/Matchfile'         |
+--------------+--------------------------------------+
| git_url.     | https://github.com/sebsto/secret.git |
| storage_mode | git                                  |
| type         | development                          |
+--------------+--------------------------------------+

[16:43:54]: Certificate (.cer) path:
./secrets/sebsto-apple-dist.cer
[16:44:07]: Private key (.p12) path:
./secrets/sebsto-apple-dist.p12
[16:44:12]: Provisioning profile (.mobileprovision or .provisionprofile) path or leave empty to skip
this file:
./secrets/amplifyiosgettingstarteddist.mobileprovision
[16:44:25]: Cloning remote git repo...
[16:44:25]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[16:44:27]: Checking out branch master...
[16:44:27]: Enter the passphrase that should be used to encrypt/decrypt your certificates
[16:44:27]: This passphrase is specific per repository and will be stored in your local keychain
[16:44:27]: Make sure to remember the password, as you'll need it when you run match on a different machine
[16:44:27]: Passphrase for Match storage: ********
[16:44:30]: Type passphrase again: ********
security: SecKeychainAddInternetPassword &lt;NULL&gt;: The specified item already exists in the keychain.
[16:44:31]: &#128275; Successfully decrypted certificates repo
[16:44:31]: Repo is at: '/var/folders/14/nwpsn4b504gfp02_mrbyd2jr0000gr/T/d20250131-41830-z7b4ic'
[16:44:31]: Login to App Store Connect (sebsto@mac.com)
[16:44:33]: Enter the passphrase that should be used to encrypt/decrypt your certificates
[16:44:33]: This passphrase is specific per repository and will be stored in your local keychain
[16:44:33]: Make sure to remember the password, as you'll need it when you run match on a different machine
[16:44:33]: Passphrase for Match storage: ********
[16:44:37]: Type passphrase again: ********
security: SecKeychainAddInternetPassword &lt;NULL&gt;: The specified item already exists in the keychain.
[16:44:39]: &#128274; Successfully encrypted certificates repo
[16:44:39]: Pushing changes to remote git repo...
[16:44:40]: Finished uploading files to Git Repo [https://github.com/sebsto/secret.git]
</code></pre>
<p>I verify that Fastlane imported my signing material to my Git repository.</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-93464" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane-3.png" alt="Fastlane match - github repo after import" width="931" height="356"></p>
<p>I can also configure my local machine to use these signing materials during the next build:</p>
<pre><code class="lang-txt">&raquo; fastlane match appstore 

[&#10004;] &#128640; 
[17:39:08]: Successfully loaded '~/amplify-ios-getting-started/code/fastlane/Matchfile' &#128196;

+-----------------------------------------------------+
|   Detected Values from './fastlane/Matchfile'       |
+--------------+--------------------------------------+
| git_url      | https://github.com/sebsto/secret.git |
| storage_mode | git                                  |
| type         | development                          |
+--------------+--------------------------------------+


+-------------------------------------------------------------------------------------------+
|                                 Summary for match 2.226.0                                 |
+----------------------------------------+--------------------------------------------------+
| type                                   | appstore                                         |
| readonly                               | false                                            |
| generate_apple_certs                   | true                                             |
| skip_provisioning_profiles             | false                                            |
| app_identifier                         | ["com.amazonaws.amplify.mobile.getting-started"] |
| username                               | xxxx@xxxxxxxxx                                   |
| team_id                                | XXXXXXXXXX                                       |
| storage_mode                           | git                                              |
| git_url                                | https://github.com/sebsto/secret.git             |
| git_branch                             | master                                           |
| shallow_clone                          | false                                            |
| clone_branch_directly                  | false                                            |
| skip_google_cloud_account_confirmation | false                                            |
| s3_skip_encryption                     | false                                            |
| gitlab_host                            | https://gitlab.com                               |
| keychain_name                          | login.keychain                                   |
| force                                  | false                                            |
| force_for_new_devices                  | false                                            |
| include_mac_in_profiles                | false                                            |
| include_all_certificates               | false                                            |
| force_for_new_certificates             | false                                            |
| skip_confirmation                      | false                                            |
| safe_remove_certs                      | false                                            |
| skip_docs                              | false                                            |
| platform                               | ios                                              |
| derive_catalyst_app_identifier         | false                                            |
| fail_on_name_taken                     | false                                            |
| skip_certificate_matching              | false                                            |
| skip_set_partition_list                | false                                            |
| force_legacy_encryption                | false                                            |
| verbose                                | false                                            |
+----------------------------------------+--------------------------------------------------+

[17:39:08]: Cloning remote git repo...
[17:39:08]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[17:39:10]: Checking out branch master...
[17:39:10]: Enter the passphrase that should be used to encrypt/decrypt your certificates
[17:39:10]: This passphrase is specific per repository and will be stored in your local keychain
[17:39:10]: Make sure to remember the password, as you'll need it when you run match on a different machine
[17:39:10]: Passphrase for Match storage: ********
[17:39:13]: Type passphrase again: ********
security: SecKeychainAddInternetPassword &lt;NULL&gt;: The specified item already exists in the keychain.
[17:39:15]: &#128275;  Successfully decrypted certificates repo
[17:39:15]: Verifying that the certificate and profile are still valid on the Dev Portal...
[17:39:17]: Installing certificate...

+-------------------------------------------------------------------------+
|                          Installed Certificate                          |
+-------------------+-----------------------------------------------------+
| User ID           | XXXXXXXXXX                                          |
| Common Name       | Apple Distribution: Sebastien Stormacq (XXXXXXXXXX) |
| Organisation Unit | XXXXXXXXXX                                          |
| Organisation      | Sebastien Stormacq                                  |
| Country           | US                                                  |
| Start Datetime    | 2024-10-29 09:55:43 UTC                             |
| End Datetime      | 2025-10-29 09:55:42 UTC                             |
+-------------------+-----------------------------------------------------+

[17:39:18]: Installing provisioning profile...

+-------------------------------------------------------------------------------------------------------------------+
|                                          Installed Provisioning Profile                                           |
+---------------------+----------------------------------------------+----------------------------------------------+
| Parameter           | Environment Variable                         | Value                                        |
+---------------------+----------------------------------------------+----------------------------------------------+
| App Identifier      |                                              | com.amazonaws.amplify.mobile.getting-starte  |
|                     |                                              | d                                            |
| Type                |                                              | appstore                                     |
| Platform            |                                              | ios                                          |
| Profile UUID        | sigh_com.amazonaws.amplify.mobile.getting-s  | 4e497882-d80f-4684-945a-8bfec1b310b9         |
|                     | tarted_appstore                              |                                              |
| Profile Name        | sigh_com.amazonaws.amplify.mobile.getting-s  | amplify-ios-getting-started-dist             |
|                     | tarted_appstore_profile-name                 |                                              |
| Profile Path        | sigh_com.amazonaws.amplify.mobile.getting-s  | /Users/stormacq/Library/MobileDevice/Provis  |
|                     | tarted_appstore_profile-path                 | ioning                                       |
|                     |                                              | Profiles/4e497882-d80f-4684-945a-8bfec1b310  |
|                     |                                              | b9.mobileprovision                           |
| Development Team ID | sigh_com.amazonaws.amplify.mobile.getting-s  | XXXXXXXXXX                                   |
|                     | tarted_appstore_team-id                      |                                              |
| Certificate Name    | sigh_com.amazonaws.amplify.mobile.getting-s  | Apple Distribution: Sebastien Stormacq       |
|                     | tarted_appstore_certificate-name             | (XXXXXXXXXX)                                 |
+---------------------+----------------------------------------------+----------------------------------------------+

[17:39:18]: All required keys, certificates and provisioning profiles are installed &#128588;</code></pre>
<p><strong>Step 2: Configure Fastlane to sign your project</strong></p>
<p>I create a Fastlane build configuration file in <code>fastlane/Fastfile</code> (you can use <code>fastlane init</code> command to get started):</p>
<pre><code class="lang-ruby">default_platform(:ios)

platform :ios do
  before_all do
    setup_ci
  end

  desc "Build and Sign the binary"
  lane :build do
    match(type: "appstore", readonly: true)
    gym(
      scheme: "getting started",
      export_method: "app-store"
    )
  end
end
</code></pre>
<p>Make sure that the <code>setup_ci</code> action is added to the <code>before_all</code> section of <code>Fastfile</code> for the <code>match</code> action to function correctly. This action creates a temporary Fastlane keychain with correct permissions. Without this step, you may encounter build failures or inconsistent results.</p>
<p>And I test a local build with the command <code>fastlane build</code>. I enter the password I used when importing my keys and certificate, then I let the system build and sign my project. When everything is correctly configured, it produces a similar output.</p>
<pre><code class="lang-txt">...
[17:58:33]: Successfully exported and compressed dSYM file
[17:58:33]: Successfully exported and signed the ipa file:
[17:58:33]: ~/amplify-ios-getting-started/code/getting started.ipa

+---------------------------------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | setup_ci         | 0           |
| 3    | match            | 36          |
| 4    | gym              | 151         |
+------+------------------+-------------+

[17:58:33]: fastlane.tools finished successfully &#127881;</code></pre>
<p><strong>Step 3: Configure CodeBuild to use Fastlane</strong></p>
<p>Next, I create a project on CodeBuild. I&rsquo;m not going into the step-by-step guide to help you to do so. You can refer to my previous post or to the CodeBuild documentation.</p>
<p>There is just one Fastlane-specific configuration. To access the signing materials, Fastlane requires access to three secret values that I&rsquo;ll pass as environment variables:</p>
<ul>
<li><code>MATCH_PASSWORD</code>, the password I entered when importing the signing material. Fastlane uses this password to decipher the encrypted files in the GitHub repository</li>
<li><code>FASTLANE_SESSION</code>, the value of the Apple Id session cookie, located at <code>~/.fastlane/spaceship/&lt;your apple user id&gt;/cookie</code>. The session is valid from a couple of hours to multiple days. When the session expires, reauthenticate with the command <code>fastlane spaceauth</code> from your laptop and update the value of <code>FASTLANE_SESSION</code> with the new value of the cookie.</li>
<li><code>MATCH_GIT_BASIC_AUTHORIZATION</code>, a base 64 encoding of your GitHub username, followed by a colon, followed by a personal authentication token (PAT) to access your private GitHub repository. You can generate PAT on the GitHub console in Your Profile &gt; Settings &gt; Developers Settings &gt; Personal Access Token. I use this command to generate the value of this environment variable: <code>echo -n my_git_username:my_git_pat | base64</code>.</li>
</ul>
<p>Note that for each of these three values, I can enter the Amazon Resource Name (ARN) of the secret on AWS Secrets Manager or the plain text value. We strongly recommend using Secrets Manager to store security-sensitive values.</p>
<p>I&rsquo;m a security-conscious user, so I store the three secrets in Secrets Manager with these commands:</p>
<p><code class="lang-sh">aws --region $REGION secretsmanager create-secret --name /CodeBuild/MATCH_PASSWORD --secret-string MySuperSecretPassword<br>aws --region $REGION secretsmanager create-secret --name /CodeBuild/FASTLANE_SESSION --secret-string $(cat ~/.fastlane/spaceship/my_appleid_username/cookie)<br>aws --region $REGION secretsmanager create-secret --name /CodeBuild/MATCH_GIT_BASIC_AUTHORIZATION --secret-string $(echo -n my_git_username:my_git_pat | base64)<br></code></p>
<p>If your build project refers to secrets stored in Secrets Manager, the build project&rsquo;s service role must allow the&nbsp;<code>secretsmanager:GetSecretValue</code> action. If you chose <strong>New service role</strong> when you created your project, CodeBuild includes this action in the default service role for your build project. However, if you chose <strong>Existing service role</strong>, you must include this action to your service role separately.</p>
<p>For this demo, I use this AWS Identity and Access Management (IAM) policy:</p>
<pre><code class="lang-json">{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"secretsmanager:GetSecretValue"
			],
			"Resource": [
				"arn:aws:secretsmanager:us-east-2:012345678912:secret:/CodeBuild/*"
			]
		}
	]
}</code></pre>
<p>After I created the project in the CodeBuild section of the AWS Management Console, I enter the three environment variables. Notice that the value is the name of the secret in Secrets Manager.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-93498 size-full" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane-4.png" alt="Codebuild - environment variables for Fastlane match" width="719" height="272"></p>
<p>You can also define the environment variables and their Secrets Manager secret name in your <code>buildpsec.yaml</code>&nbsp;file.</p>
<p>Next, I modify the <code>buildspec.yaml</code> file at the root of my project to use <code>fastlane</code> to build and sign the binary. My <code>buildspec.yaml</code> file now looks like this one:</p>
<pre><code class="lang-yaml"># buildspec.yml
version: 0.2
phases:
  install:
    commands:
      - code/ci_actions/00_install_rosetta.sh
  pre_build:
    commands:
      - code/ci_actions/02_amplify.sh
  build:
    commands:
      - (cd code &amp;&amp; fastlane build)
artifacts:
  name: getting-started-$(date +%Y-%m-%d).ipa
  files:
    - 'getting started.ipa'
  base-directory: 'code'</code></pre>
<p>The Rosetta and Amplify scripts are required to receive the Amplify configuration for the backend. If you don&rsquo;t use AWS Amplify in your project, you don&rsquo;t need these.</p>
<p>Notice that there is nothing in the build file that downloads the signing key or prepares the keychain in the build environment; <code>fastlane match</code> will do that for me.</p>
<p>I add the new <code>buildspec.yaml</code> file and my <code>./fastlane</code>&nbsp;directory to Git. I commit and push these files. <code>git commit -m "add fastlane support" &amp;&amp; git push</code></p>
<p>When everything goes well, I can see the build running on CodeBuild and the <span><strong>Succeeded</strong></span> message.</p>
<p><img decoding="async" loading="lazy" class="aligncenter wp-image-93507" src="https://thenokiablog.com/wp-content/uploads/2025/02/aws-codebuild-for-macos-adds-support-for-fastlane-5.png" alt="Codebuild - succeed message" width="800" height="512"></p>
<p><strong><span>Pricing and availability</span><br></strong>Fastlane is now pre-installed at no extra cost on all macOS images that CodeBuild uses, in all Regions where CodeBuild for macOS is available. At the time of this writing, these are US East (Ohio, N. Virginia), US West (Oregon), Asia Pacific (Sydney), and Europe (Frankfurt).</p>
<p>In my experience, it takes a bit of time to configure <code>fastlane match</code> correctly. When it&rsquo;s configured, having it working on CodeBuild is pretty straightforward. Before trying this on CodeBuild, be sure it works on your local machine. When something goes wrong on CodeBuild, triple-check the values of the environment variables and make sure CodeBuild has access to your secrets on AWS Secrets Manager.</p>
<p>Now go build (on macOS)!</p>
<p>       <!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/aws-codebuild-for-macos-adds-support-for-fastlane/">AWS CodeBuild for macOS adds support for Fastlane</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS Weekly Roundup: AWS Lambda, Amazon Bedrock, Amazon Redshift, Amazon CloudWatch, and more (Nov 4, 2024)</title>
		<link>https://thenokiablog.com/aws-weekly-roundup-aws-lambda-amazon-bedrock-amazon-redshift-amazon-cloudwatch-and-more-nov-4-2024/</link>
		
		<dc:creator><![CDATA[Mister Nokia]]></dc:creator>
		<pubDate>Mon, 04 Nov 2024 17:40:05 +0000</pubDate>
				<category><![CDATA[Nokia Mobile Phone]]></category>
		<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon CloudWatch]]></category>
		<category><![CDATA[Amazon Q]]></category>
		<category><![CDATA[Amazon Redshift]]></category>
		<category><![CDATA[Amazon VPC]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS Amplify]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Week in Review]]></category>
		<guid isPermaLink="false">https://thenokiablog.com/aws-weekly-roundup-aws-lambda-amazon-bedrock-amazon-redshift-amazon-cloudwatch-and-more-nov-4-2024/</guid>

					<description><![CDATA[<p>The spooky season has come and gone now. While there aren&#8217;t any Halloween-themed releases, AWS has...</p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-aws-lambda-amazon-bedrock-amazon-redshift-amazon-cloudwatch-and-more-nov-4-2024/">AWS Weekly Roundup: AWS Lambda, Amazon Bedrock, Amazon Redshift, Amazon CloudWatch, and more (Nov 4, 2024)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table id="amazon-polly-audio-table">
<tbody>
<tr>
<td id="amazon-polly-audio-tab">
<div id="amazon-polly-by-tab"><img loading="lazy" decoding="async" src="https://thenokiablog.com/wp-content/uploads/2024/11/aws-weekly-roundup-aws-lambda-amazon-bedrock-amazon-redshift-amazon-cloudwatch-and-more-nov-4-2024.png" alt="Voiced by Polly" width="554" height="56"></div>
</td>
</tr>
</tbody>
</table>
<p>The spooky season has come and gone now. While there aren&rsquo;t any Halloween-themed releases, AWS has celebrated it in big style by having a plethora of exciting releases last week! I think it&rsquo;s safe to say that we have truly entered the &lsquo;pre&rsquo; re:Invent stage as more and more interesting things are being released every week on the countdown to AWS re:Invent 2024.</p>
<p>There is a lot to cover, so let me put my wizard hat on, open the big bag of treats, and dive into last week&rsquo;s goodies!</p>
<p><strong>Something for developers<br>
</strong>There was no shortage of treats from AWS for developers this Halloween!</p>
<p>AWS enhances the Lambda application building experience with VS Code IDE and AWS Toolkit &mdash; AWS has enhanced AWS Lambda development with the AWS Toolkit for Visual Studio Code, providing a guided setup for coding, testing, and deploying Lambda applications directly within the IDE. It includes sample walkthroughs and one-click deployment, simplifying the development process. Now, building apps with Lambda is as intuitive as crafting a spell in a wizard&rsquo;s workshop!</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/html-element-select-envato-tuts/" class="template-2"><span class="cta">Read more</span><span class="postTitle">HTML Element: select | Envato Tuts+</span></a></div><p>AWS Amplify integration with Amazon S3 for static website hosting &mdash;&nbsp;AWS Amplify Hosting now integrates with Amazon S3 for seamless static website hosting, with global CDN support via Amazon CloudFront. This simplifies set up, offering secure, high-performance delivery with custom domains and SSL certificates. Hosting your site is now easier than spotting a jack-o&rsquo;-lantern on Halloween night!</p>
<p>AWS Lambda now supports AWS Fault Injection Service (FIS) actions &mdash; AWS Lambda now supports AWS Fault Injection Simulator (FIS) actions, enabling developers to test resilience by injecting controlled faults like latency and execution errors. This helps simulate real-world failures without code changes, improving monitoring and operational readiness. Great for testing that old candy dispenser!</p>
<p>AWS CodeBuild now supports retrying builds automatically &mdash;&nbsp;AWS CodeBuild now offers automatic build retries, allowing developers to set a retry limit for failed builds. This reduces manual intervention by automatically retrying builds up to the specified limit, tackling those pesky, intermittent failures like a ghostbuster clearing a haunted pipeline!</p>
<p>Amazon Virtual Private Cloud launches new security group sharing features &mdash;&nbsp;Amazon VPC now supports sharing security groups across multiple VPCs within the same account and with participant accounts in shared VPCs. This streamlines security management and ensures consistent traffic filtering across your organization. Now, keeping your network secure is as seamless as warding off digital goblins!</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/skipping-the-whm-getting-started-wizard-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Skipping the WHM Getting Started Wizard | cPanel Blog</span></a></div><p>Amazon DataZone expands data access with tools like Tableau, Power BI, and more &mdash;&nbsp;Amazon DataZone now supports the Amazon Athena JDBC Driver, allowing seamless access to data lake assets from BI tools, like Tableau and Power BI. This lets analysts connect and analyze data with ease. Now, accessing data is as effortless as a witch flying on her broomstick!</p>
<p><strong>Generative AI<br>
</strong>Amazon Q and Amazon Bedrock continue to make generative AI seem like magic. Here are some releases from last week.</p>
<p>Amazon Q Developer inline chat &mdash;&nbsp;Amazon Q Developer has introduced inline chat support, allowing developers to engage directly within their code editor for actions like optimization, commenting, and test generation. Real-time inline diffs make it simple to review changes, available in Visual Studio Code and JetBrains IDEs. It&rsquo;s practically code magic &ndash; no witch&rsquo;s cauldron needed!</p>
<p>Meta&rsquo;s Llama 3.1 8B and 70B models are now available for fine-tuning in Amazon Bedrock &mdash;&nbsp;Amazon Bedrock now supports fine-tuning for Meta&rsquo;s Llama 3.1 8B and 70B models, allowing developers to customize these AI models with their own data. With a 128K context length, Llama 3.1 processes large text volumes efficiently, making it perfect for domain-specific applications. Now, your AI won&rsquo;t be scared of handling monstrous amounts of data&mdash;even on a dark, stormy night!</p>
<div class="internal-linking-related-contents"><a href="https://thenokiablog.com/gone-phishing-cpanel-blog/" class="template-2"><span class="cta">Read more</span><span class="postTitle">Gone Phishing | cPanel Blog</span></a></div><p>Fine-tuning for Anthropic&rsquo;s Claude 3 Haiku in Amazon Bedrock is now generally available &mdash;&nbsp;Fine-tuning for the Claude 3 Haiku model in Amazon Bedrock is now generally available, enabling customization with your data for better accuracy. Make your AI as unique as your Halloween costume!</p>
<p><strong>Cost Planning, Saving, and Tracking<br>
</strong>Here are some new releases that can help you stay on top of your budget and keep an eye on the amount of candy that you buy.</p>
<p>AWS now accepts partial card payments &mdash;&nbsp;AWS now supports partial payments with credit or debit cards, letting users split monthly bills across multiple cards. This flexibility makes managing your budget as smooth as a ghost gliding through a haunted house!</p>
<p>Amazon Bedrock now supports cost allocation tags on inference profiles &mdash;&nbsp;Amazon Bedrock now supports cost allocation tags for inference profiles, allowing customers to track and manage generative AI costs by department or application. This makes financial management a treat, not a trick!</p>
<p>AWS Deadline Cloud now adds budget-related events &mdash;&nbsp;AWS Deadline Cloud, a service used for rendering and managing visual effects and animation workloads, now sends budget-related events via Amazon EventBridge, enabling real-time spending updates and automated notifications. This helps keep project costs under control without any unexpected scares!</p>
<p><strong>And the busiest team of the week award goes to&hellip;Amazon Redshift!<br>
</strong>Clearly, the Amazon Redshift team loves Halloween and decided to celebrate in big style with many releases! Here are the highlights:</p>
<p>Amazon Redshift integration with Amazon Bedrock for generative AI &mdash;&nbsp;Amazon Redshift now integrates with Amazon Bedrock for generative AI tasks using SQL, adding AI capabilities like text generation directly in your data warehouse. Now, you can conjure up rich insights without the need for complicated spells!</p>
<p>Announcing general availability of auto-copy for Amazon Redshift &mdash;&nbsp;Auto-copy for continuous data ingestion from Amazon S3 into Amazon Redshift is now generally available. This streamlines workflows, making data integration as smooth as carving a soft pumpkin!</p>
<p>Amazon Redshift now supports incremental refresh on Materialized Views (MVs) for data lake tables &mdash;&nbsp;Amazon Redshift now supports incremental refresh for materialized views on data lake tables, updating only changed data to boost efficiency. This keeps your data fresh without any haunting overhead!</p>
<p>Announcing Amazon Redshift Serverless with AI-driven scaling and optimization &mdash;&nbsp;Amazon Redshift Serverless now offers AI-driven scaling, adjusting resources automatically based on workload. This ensures smooth performance without any chilling surprises!</p>
<p>CSV result format support for Amazon Redshift Data API &mdash;&nbsp;Amazon Redshift Data API now supports CSV output for SQL query results, enhancing data processing flexibility. This makes handling data as smooth as a ghost&rsquo;s whisper!</p>
<p><strong>Halloween week contest runner-up&hellip;Amazon CloudWatch!<br>
</strong>The Amazon CloudWatch team has also been busy giving out candy this Halloween! Let&rsquo;s check it out.</p>
<p>Amazon CloudWatch now monitors EBS volumes exceeding provisioned performance &mdash;&nbsp;Amazon CloudWatch now provides metrics to check if Amazon EBS volumes exceed their IOPS or throughput limits. This helps quickly spot and resolve performance issues before they turn into a haunting problem!</p>
<p>New Amazon CloudWatch metrics for monitoring I/O latency of Amazon EBS volumes &mdash;&nbsp;Amazon CloudWatch now offers metrics for average read and write I/O latency of Amazon EBS volumes, aiding in identifying performance issues. These insights are available per minute at no extra cost. This should help you prevent latency from sneaking up on you like a Halloween ghost!</p>
<p>Amazon ElastiCache for Valkey adds new CloudWatch metrics to monitor server-side response time &mdash;&nbsp;Amazon ElastiCache now includes metrics for read and write request latency, helping monitor server response times. This aids in quickly spotting and resolving performance issues before they become a frightful surprise!</p>
<p><strong>Conclusion</strong><br>
And that&rsquo;s a wrap on Halloween 2024. I don&rsquo;t know about you, but this is my favorite time of the year, followed by News Year&rsquo;s. Both carry an element of unpredictability that I very much enjoy. With Halloween, you can get excited about what costume you&rsquo;re going to wear, whereas New Year&rsquo;s is all about new possibilities and conquering new horizons.</p>
<p>Luckily, you don&rsquo;t have to wait for the new year to unlock new frontiers with AWS as we bring excitement and innovation throughout the year. And what better way to see this in action than at AWS re:Invent 2024!</p>
<p>I wonder what kinds of spells and surprises we&rsquo;ll be conjuring up come Halloween 2025. Until next time, keep your eyes on the horizon&mdash;and your broomsticks at the ready!</p>
<p><!-- '"` --></p>
<p>The post <a href="https://thenokiablog.com/aws-weekly-roundup-aws-lambda-amazon-bedrock-amazon-redshift-amazon-cloudwatch-and-more-nov-4-2024/">AWS Weekly Roundup: AWS Lambda, Amazon Bedrock, Amazon Redshift, Amazon CloudWatch, and more (Nov 4, 2024)</a> appeared first on <a href="https://thenokiablog.com">The NOKIA Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
