💡

AWS 初心者でもできた!CDK にコントリビュートした流れ

に公開

こんにちは。Web バックエンドエンジニアをしてる山梨といいます。

この記事では、AWS 初心者の私が AWS CDK に初めてコントリビュートした時の体験談をお伝えします。
この記事を通して、これから CDK のコントリビュートへの挑戦を検討している方の参考になれば幸いです。

きっかけ

2024 年 7 月に、AWS CDK Conference Japan 2024 というイベント内で行われた CDK コントリビュートワークショップ参加したことをきっかけに、コントリビュートしてみようと思いました。

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

(ちなみに私は CDK を使用した開発経験はほとんどなく、個人学習で ECS on Fargateを使った簡単なWebアプリを構築したことがある程度でした)

コントリビュートの流れ

以下に、自分が実際に行ったコントリビュートの内容を書いていきます
内容は、コントリビュートワークショップの資料を参考・参照しています

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

1. Issueを探す

まずは、CDK の GitHub リポジトリを見て Issue を探します。

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

Issue はいくつかのラベルで分類されており、例えば「good first issue」や「effort/small」ラベルがついている Issue は初心者向けの Issue として探しやすいです。
私は自分が触ったことのある Constructs (ECS 周り) に関する Issue を探しました。

今回私が取り組んだ Issue は以下のものです。

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

2.リポジトリのフォーク、ビルド

リポジトリのフォークからビルドまでの手順は、コントリビュートワークショップの資料を参考にしました。
GitHub を使用したリポジトリのフォークからビルドまでの手順がとても丁寧に書かれており、スムーズに進められました。

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

3. Issueの解決・PRの作成

ビルドまで完了したところで、Issue の内容を解決するための実装に取り掛かりました。
今回私が着手した Issue は、ApplicationLoadBalancedFargateService という Construct (L3 Construct) に対する機能追加を行いました。

変更内容は以下の通りです。

また、PR のタイトルや内容については、Contribute Workshop の内容プルリクエストについてのコントリビューションガイドを参考にしました。

以下が私が作成した PR です。

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

まとめ

以上が、私が CDK にコントリビュートした際の流れです。

コントリビュートをする流れで色々調べたり、レビューをもらって自分のコードの改善点を学ぶといった経験を得ることができました。
また、以前までは OSS へのハードルを高く感じていて、まとまった時間が取れたら検討しようと考えていましたが、本当はもっと身近なもので、身構える必要はないんだなと思えるようになりました。

これからも空いた時間に少しずつコントリビュートして、コミュニティに貢献していきたいです。

参考資料

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

GitHubで編集を提案

Discussion