CircleCI Orbsにコントリビュートしました

tl;dr

こんばんは。最近は Fargate づくしのえのかわです。 CircleCI から ECS に対して Blue/Green Deployment をしたい場面、ありますよね。CircleCI-Public/aws-ecs-orb を用いることで Rolling Update は可能だったのですが、Blue/Green Deployment はサポートしていなかったのでコントリビュートしてみました。その流れを記録としてこのエントリに残したいと思います。

検討期

CircleCI から ECS に対して Blue/Green Deployment をしたい場面に遭遇し、いくつか方法を検討しました。

  1. CircleCI-Public/aws-ecs-orb を利用する
  2. kayac/ecspressosilinternational/ecs-deploy などのデプロイツールを利用する
  3. .circleci/config.ymlスクリプト書く

github.com

github.com

github.com

当時は aws-ecs-orb 、ecspresso 、ecs-deploy それぞれ Blue/Green Deployment に対応していませんでした。aws-ecs-orb は以前から Rolling Update で利用していて、かつ Task Definition の Update もよしなにやってくれるので Issue を出しました。

github.com

Maintainer のコメントから、直ぐに対応はしてくれないだろうなーと思い PR を出そうと決めました。

コーディング期

といっても書くのは YAML と Shell くらいですが。。あと英語に苦戦しました。出した PR はこちら。

github.com

Description も書く必要があり、英語がつたない僕に Maintainer の lokst 氏が優しくコメント/レビューしてくれたのは助かりました。

やってよかった

1 人でイチからやった && プライベートの時間を使っての対応だったのでだいぶ時間が掛かりましたが、振り返ってみると「やってよかったなぁ」と心底感じました。ぼく自身、多くの OSS を利用していますが、あまりコントリビュートしていない点にコンプレックスを感じていたので、エンジニアとして少しレベルアップした気分です。ということで、今後も PR チャンスを見つけたらガンガン OSS にコントリビュートしていきます。Contributors に自分の名前があるのは嬉しいものです。

f:id:enokawaa:20191007222259p:plain