💡

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

2024/10/17に公開

こんにちは。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/

Discussion