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