ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspresso MeetUp
by
cohalz
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
ecspressoへの貢献を 振り返る @cohalz JAWS-UG コンテナ支部 #24 ecspresso MeetUp 1
Slide 2
Slide 2 text
自己紹介 ● こはる(@cohalz) ● 株式会社はてな SRE ○ はてなブックマーク ○ はてなブログ 2
Slide 3
Slide 3 text
はてなにおけるecspressoの利用 ● 2021年3月頃から本格利用開始 ○ 社内向けサービスなどではそれ以前から一部利用 ● 現在はてなブログ・はてなブックマーク ・Mackerelで全面的に採用 3
Slide 4
Slide 4 text
今日話すこと ● ecspresso関連の貢献の紹介 ○ v1.5からv2までの新機能 ○ v2で追加したバージョンファイル機能について ● OSS貢献のススメ ○ 様々な貢献の仕方があるよ 4
Slide 5
Slide 5 text
5 貢献の紹介
Slide 6
Slide 6 text
貢献の歴史 ● 2021/3から本体へのPRは9件 ○ v1.5.0から ● その他に本体以外の貢献もあり 6
Slide 7
Slide 7 text
コントリビュート数はbotを除けば1番目 7
Slide 8
Slide 8 text
verifyコマンドでのIAM権限の修正(#262) ● タスク実行ロールに不要な権限が必要だった ○ v1.5.0(2021/4/10)から実行権限でも可に ○ v2で完全に実行権限のみに移行 8
Slide 9
Slide 9 text
ecspresso initでタグが含まれるように (#270) ● initでtagとpropagateTagsが含まれるように ○ 社内ではタグをつける運用だった ○ v1.5.0(2021/4/10)から 9
Slide 10
Slide 10 text
desiredCountがdiffに出るように (#274, #276) ● 設定でdesiredCountを書いた際にdiffが出るように ○ 台数もコード管理したい場合に便利 ○ v1.5.1(2021/4/20)から 10
Slide 11
Slide 11 text
CodeDeployでrollbackが可能に (#261, #275, #284) ● CodeDeployでもロールバックできるように ○ デプロイ中でもそうでなくてもロールバック可能に ○ v1.5.2(2021/5/5)から 11
Slide 12
Slide 12 text
tfstateの値参照がTerraform Cloudに対応 (fujiwara/tfstate-lookup #30) ● 以前はS3やGCSのみ ○ 社内でTerraform Cloud導入が進んだきっかけ ○ v1.6.0(2021/8/7)から 12
Slide 13
Slide 13 text
diffでunified形式が使えるように (#365, #367) ● git diffのようなdiffが出せるように ○ 以前は全行出ていた ○ v1.7.5(2021/12/25)から ○ v2でデフォルトに 13
Slide 14
Slide 14 text
v2の準備が始まった際にいくつか機能要望(#374) 14
Slide 15
Slide 15 text
15 v2で追加した バージョンファイルの紹介
Slide 16
Slide 16 text
ecspressoのバージョン管理問題 ● GitHub Actionsでlatestを指定していた ○ API limitや不具合バージョンのリスクあり ● 手元で使いたい時のバージョン管理 ○ 開発者が増えるならバージョン統一したい 16
Slide 17
Slide 17 text
これを解決するために ● .ecspresso-versionというファイルを導入 ○ Actions/Orbで使える ○ asdfでも利用できる ● どういう順番で実装・どう利用しているか 17
Slide 18
Slide 18 text
GitHub Actionsで利用できるように (#490) ● Actionsにversion-fileオプションを追加 ○ shogo82148/actions-setup-perlの変更きっかけ (#1367) ● その後fujiwaraさんがOrb対応(#492) 18
Slide 19
Slide 19 text
asdf-ecspressoで読めるように (kayac/asdf-ecspresso #1) ● legacy_version_file機能を使い実装 ○ bin/list-legacy-filenamesファイルに追加するだけ ● asdfで読める形式でActionsの方を追加 ○ vプレフィックスの有無など気をつけポイント 19
Slide 20
Slide 20 text
asdf install ecspresso (asdf-vm/asdf-plugins #790) ● asdf install ecspressoできるように ● 製作者にasdf-pluginsに登録してもらった ○ @kolukuさん ○ YAPC::Kyoto 2023の懇親会きっかけで進んだ 20
Slide 21
Slide 21 text
Tips: required_versionと組み合わせる ● required_versionでこのファイルを使う ○ jsonnet推奨 ○ required_version: '= v' + importstr '.ecspresso-version' ○ ecspresso handbook v2のChapter 15でも紹介され ている手法 21
Slide 22
Slide 22 text
Tips: Renovateで更新するには ● Regex Managerを使って更新を拾える ○ 参考: https://scrapbox.io/aereal-tech/Renovateで ecspressoのバージョンを上げる 22
Slide 23
Slide 23 text
Renovateの設定を公開 (hatena/renovate-config #70) ● このRenovate設定をOSSとして公開 ○ 参考: はてなで使用しているRenovateの設定プリセッ トを公開しました ● renovate.jsonに1行追加するだけで使えます ○ "extends": ["github>hatena/renovate-config:ecspressoVersion.json5"] 23
Slide 24
Slide 24 text
24 OSS貢献のススメ
Slide 25
Slide 25 text
これだけ貢献したきっかけ ● CI/CDの改善がOSS活動になっていた ○ 機能が足りてないから改善する ● 楽しんで追加する ○ もはや趣味コードの一つ ○ 「このライブラリと組み合わせたら面白そう」 25
Slide 26
Slide 26 text
PRだけでなくIssueでも ● Issueに機能要望を書くだけでも ○ デプロイ方法は千差万別 ○ どう使われてるかのきっかけになる ● 非互換変更な要望もv2で対応してもらった 26
Slide 27
Slide 27 text
それ以外の貢献方法 ● 使うだけでも貢献...だけど ○ SNSなど本人に見える場所で貢献するとなおよし ○ 良いIssue/PRがあったらリアクションするなども ● OSS開発してる人が何されたら嬉しいか ○ Songmuさんの「OSS活動を細く長く続ける技術」 27
Slide 28
Slide 28 text
28 寄付という手もあります
Slide 29
Slide 29 text
おわり ● 追加した機能の歴史を紹介しました ● OSS貢献でこれからも長く利用していきましょう 29