AWS初心者でもできた!CDKにコントリビュートした流れ
こんにちは。Webバックエンドエンジニアをしてる山梨といいます。
この記事では、AWS初心者の私がAWS CDKに初めてコントリビュートした時の体験談をお伝えします。
この記事を通して、これからCDKのコントリビュートへの挑戦を検討している方の参考になれば幸いです。
きっかけ
2024年7月に、AWS CDK Conference Japan 2024というイベント内で行われたCDKコントリビュートワークショップ参加したことをきっかけに、コントリビュートしてみようと思いました。
(ちなみに私はCDKを使用した開発経験はほとんどなく、個人学習でECS on Fargateを使った簡単なWebアプリを構築したことがある程度でした)
コントリビュートの流れ
以下に、自分が実際に行ったコントリビュートの内容を書いていきます
内容は、コントリビュートワークショップの資料を参考・参照しています
1. Issueを探す
まずは、CDKのGitHubリポジトリを見てIssueを探します。
Issueはいくつかのラベルで分類されており、例えば「good first issue」や「effort/small」ラベルがついているIssueは初心者向けのIssueとして探しやすいです。
私は自分が触ったことのあるConstructs(ECS周り)に関するIssueを探しました。
今回私が取り組んだIssueは以下のものです。
2.リポジトリのフォーク、ビルド
リポジトリのフォークからビルドまでの手順は、コントリビュートワークショップの資料を参考にしました。
GitHubを使用したリポジトリのフォークからビルドまでの手順がとても丁寧に書かれており、スムーズに進められました。
3. Issueの解決・PRの作成
ビルドまで完了したところで、Issueの内容を解決するための実装に取り掛かりました。
今回私が着手したIssueは、ApplicationLoadBalancedFargateService
というConstruct(L3 Construct)に対する機能追加を行いました。
変更内容は以下の通りです。
-
機能追加に伴うConstructの変更
- プロパティ追加
- バリデーション追加
-
ユニットテストの追加
- 変更した機能に対するユニットテストを実装
-
統合テスト(Integration test)を追加
- Contribute Workshopの内容とIntegration testについてのコントリビューションガイドを参考に、統合テストを追加
-
ドキュメントの更新
- 機能追加に関する説明をREADMEに追加
また、PRのタイトルや内容については、Contribute Workshopの内容とプルリクエストについてのコントリビューションガイドを参考にしました。
以下が私が作成したPRです。
まとめ
以上が、私がCDKにコントリビュートした際の流れです。
コントリビュートをする流れで色々調べたり、レビューをもらって自分のコードの改善点を学ぶといった経験を得ることができました。
また、以前まではOSSへのハードルを高く感じていて、まとまった時間が取れたら検討しようと考えていましたが、本当はもっと身近なもので、身構える必要はないんだなと思えるようになりました。
これからも空いた時間に少しずつコントリビュートして、コミュニティに貢献していきたいです。
参考資料
Discussion