We have published a hands-on CI/CD introductory workshop to get started with GitHub and AWS Lambda

We have published a hands-on CI/CD introductory workshop to get started with GitHub and AWS Lambda

2026.06.23

This page has been translated by machine translation. View original

With the promotion of DX, AI, and in-house development, more people are finding opportunities to step into software development.

When trying to do team development from scratch, the following problems tend to arise.

  • Deploying by directly operating the AWS console
  • Deployment work is dependent on specific individuals
  • Source code during development and deployment is not managed well
  • Test automation has not been systematized

The beginner-oriented workshop we are releasing today was born from supporting teams facing exactly these kinds of situations.
In this workshop, you will build a CI/CD pipeline from GitHub to AWS Lambda in just a few hours.

Introduction to GitHub Actions CI/CD for AWS Lambda | lambda-cicd-workshop

workshop_architecture

By building CI/CD to deploy AWS Lambda functions from GitHub to AWS, you will learn the following.

  • Leveraging temporary authentication via aws login / OIDC
  • Creating resources using IaC
  • Automating testing (CI) and deployment (CD)

Please note that the workshop prioritizes ease of use and clarity, so some parts may not be directly applicable to production environments.

Steps

The workshop is divided into 10 steps.

Here is a brief overview.

1. Prepare the Lambda function -- Set up a Lambda function with CloudFormation

In Step 1, you will build the AWS Lambda function used in the workshop using CloudFormation, AWS's IaC service.

By using IaC, you can create the same resources in a reproducible way without relying on console operations.

This CloudFormation template includes both the infrastructure layer and the application layer.

2. Put the code on GitHub -- Create a repository and push

In Step 2, of the resources deployed in Step 1, only the application code—which changes frequently and has a different lifecycle from the infrastructure—is managed on GitHub.

The program is written in Python.

3. CI (Static Analysis) -- Manual testing in the local environment

The Lambda function is written in Python.

Using uv, you will set up a development environment locally and enable the use of Ruff, a static analysis tool (linter).

4. GitHub Actions CI -- Automated testing with GitHub Actions

You will configure GitHub Actions so that the static analysis run in the local environment is automatically executed every time code is changed on GitHub (i.e., when a Pull Request is created).

5. Authenticate with AWS CLI -- Obtain temporary credentials with aws login

Using aws login, you will obtain temporary credentials and prepare to operate AWS via the CLI.

6. Manual deployment -- Deploy from the local environment

Using the temporary credentials issued by aws login, you will deploy the Lambda function from your local environment using the AWS CLI.

No permanent credentials need to be issued.

7. OIDC -- Build a trust relationship between GitHub and AWS

In phases 5 and 6, a human logged in via a browser to operate AWS.

In this phase, you will configure the authentication mechanism (OIDC) that allows GitHub Actions to operate AWS in the same way.

Just like aws login, no permanent credentials need to be issued.

oidc_federation

8. GitHub Actions CD -- Automated deployment from GitHub Actions

The manual deployment performed in phase 6 is systematized using the OIDC trust relationship established in phase 7.

9. CI/CD Pipeline -- From Issue through PR to AWS deployment

At this point, the entire CI/CD system is in place. In this phase, you will experience the flow from code change to deployment in a way that closely resembles real-world development.

In particular, you will describe the changes in an Issue and delegate the code modifications to GitHub Copilot's Coding Agent.

The agent will branch off, fix the code, and create a draft Pull Request. CI will run against that PR, and once the tests pass, you merge it and deploy via CD.

10. Summary -- Review and looking ahead

Using the CI/CD pipeline built in this workshop as a foundation, try the following extensions.

  • Applying it to existing AWS Lambda functions
  • Switching the target AWS account for deployment
  • Adding tests for CI
  • Applying it to AWS services other than AWS Lambda

Finally

This workshop is designed for users who have been developing on AWS using a console-based approach without AWS CLI or IaC, allowing them to experience a full GitHub × AWS CI/CD workflow in just a few hours.

  • Replacing local -> AWS operations with GitHub Actions
  • Using temporary credentials without issuing any permanent credentials
  • Development delegated to GitHub Copilot's coding agent

It covers all the basic features and concepts in one go.

Please give it a try.

Introduction to GitHub Actions CI/CD for AWS Lambda | lambda-cicd-workshop

Share this article

AWSのお困り事はクラスメソッドへ