iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
💡

Even an AWS Beginner Can Do It! How I Contributed to AWS CDK

に公開

Hello. I'm Yamanashi, a web backend engineer.

In this article, I'll share my experience of contributing to the AWS CDK for the first time as an AWS beginner.
I hope this article will be helpful for those who are considering contributing to the CDK in the future.

The Trigger

In July 2024, I decided to try contributing after participating in the CDK Contribution Workshop held during the AWS CDK Conference Japan 2024 event.

https://jawsug-cdk.connpass.com/event/322480/

(For context, I had almost no experience with the CDK, only having built a simple web application using ECS on Fargate for personal study.)

Contribution Flow

Below is the process I followed for my contribution.
The content is based on and references the CDK Contribution Workshop materials.

https://jaws-ug-cdk.github.io/cdk-conf-2024-contribute-workshop/

1. Finding an Issue

First, I looked for issues in the CDK GitHub repository.

https://github.com/aws/aws-cdk/issues

Issues are categorized with several labels. For example, issues with labels like "good first issue" or "effort/small" are easy to find as beginner-friendly issues.
I searched for issues related to Constructs I have experience with (around ECS).

The issue I worked on this time is as follows:

https://github.com/aws/aws-cdk/issues/20638

2. Forking and Building the Repository

I followed the steps in the contribution workshop materials for the process from forking the repository to building it.
The steps for forking from GitHub and building were written very clearly, allowing me to proceed smoothly.

https://jaws-ug-cdk.github.io/cdk-conf-2024-contribute-workshop/3-フォークからビルドまで/fork-build/

3. Solving the Issue and Creating a PR

Once the build was complete, I started working on the implementation to solve the issue.
The issue I worked on this time involved adding a feature to a Construct called ApplicationLoadBalancedFargateService (an L3 Construct).

The changes were as follows:

  • Construct changes due to feature addition
    • Added properties
    • Added validation
  • Added unit tests
    • Implemented unit tests for the modified feature
  • Added integration tests
  • Updated documentation
    • Added explanations regarding the feature addition to the README

Also, for the PR title and content, I referred to the Contribution Workshop content and the Contribution Guide for Pull Requests.

Below is the PR I created:

https://github.com/aws/aws-cdk/pull/30920

Summary

That covers the process of my contribution to the CDK.

Through the process of contributing, I was able to gain experiences such as researching various things and learning how to improve my code through the reviews I received.
Also, I used to feel that the barrier to entry for OSS was high and thought I would only consider it when I had a lot of free time, but I’ve come to realize that it’s actually much more accessible and there’s no need to be so intimidated.

I hope to continue contributing to the community little by little in my spare time.

References

https://jaws-ug-cdk.github.io/cdk-conf-2024-contribute-workshop/

GitHubで編集を提案

Discussion