Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspres...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cohalz
August 08, 2023
Programming
1
8.4k
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspresso MeetUp
https://jawsug-container.connpass.com/event/285124/
cohalz
August 08, 2023
Tweet
Share
More Decks by cohalz
See All by cohalz
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
810
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
9.5k
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
2.1k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.8k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
230
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
cohalz
0
250
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
7.6k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
20k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
cohalz
0
2.5k
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
110
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
CSC307 Lecture 08
javiergs
PRO
0
660
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
190
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
530
Architectural Extensions
denyspoltorak
0
270
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
600
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.9k
Featured
See All Featured
Building an army of robots
kneath
306
46k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
170
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Amusing Abliteration
ianozsvald
0
92
AI: The stuff that nobody shows you
jnunemaker
PRO
2
240
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Un-Boring Meetings
codingconduct
0
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
ecspressoへの貢献を 振り返る @cohalz JAWS-UG コンテナ支部 #24 ecspresso MeetUp 1
自己紹介 • こはる(@cohalz) • 株式会社はてな SRE ◦ はてなブックマーク ◦ はてなブログ
2
はてなにおけるecspressoの利用 • 2021年3月頃から本格利用開始 ◦ 社内向けサービスなどではそれ以前から一部利用 • 現在はてなブログ・はてなブックマーク ・Mackerelで全面的に採用 3
今日話すこと • ecspresso関連の貢献の紹介 ◦ v1.5からv2までの新機能 ◦ v2で追加したバージョンファイル機能について • OSS貢献のススメ ◦
様々な貢献の仕方があるよ 4
5 貢献の紹介
貢献の歴史 • 2021/3から本体へのPRは9件 ◦ v1.5.0から • その他に本体以外の貢献もあり 6
コントリビュート数はbotを除けば1番目 7
verifyコマンドでのIAM権限の修正(#262) • タスク実行ロールに不要な権限が必要だった ◦ v1.5.0(2021/4/10)から実行権限でも可に ◦ v2で完全に実行権限のみに移行 8
ecspresso initでタグが含まれるように (#270) • initでtagとpropagateTagsが含まれるように ◦ 社内ではタグをつける運用だった ◦ v1.5.0(2021/4/10)から 9
desiredCountがdiffに出るように (#274, #276) • 設定でdesiredCountを書いた際にdiffが出るように ◦ 台数もコード管理したい場合に便利 ◦ v1.5.1(2021/4/20)から 10
CodeDeployでrollbackが可能に (#261, #275, #284) • CodeDeployでもロールバックできるように ◦ デプロイ中でもそうでなくてもロールバック可能に ◦ v1.5.2(2021/5/5)から
11
tfstateの値参照がTerraform Cloudに対応 (fujiwara/tfstate-lookup #30) • 以前はS3やGCSのみ ◦ 社内でTerraform Cloud導入が進んだきっかけ ◦
v1.6.0(2021/8/7)から 12
diffでunified形式が使えるように (#365, #367) • git diffのようなdiffが出せるように ◦ 以前は全行出ていた ◦ v1.7.5(2021/12/25)から
◦ v2でデフォルトに 13
v2の準備が始まった際にいくつか機能要望(#374) 14
15 v2で追加した バージョンファイルの紹介
ecspressoのバージョン管理問題 • GitHub Actionsでlatestを指定していた ◦ API limitや不具合バージョンのリスクあり • 手元で使いたい時のバージョン管理 ◦
開発者が増えるならバージョン統一したい 16
これを解決するために • .ecspresso-versionというファイルを導入 ◦ Actions/Orbで使える ◦ asdfでも利用できる • どういう順番で実装・どう利用しているか 17
GitHub Actionsで利用できるように (#490) • Actionsにversion-fileオプションを追加 ◦ shogo82148/actions-setup-perlの変更きっかけ (#1367) • その後fujiwaraさんがOrb対応(#492)
18
asdf-ecspressoで読めるように (kayac/asdf-ecspresso #1) • legacy_version_file機能を使い実装 ◦ bin/list-legacy-filenamesファイルに追加するだけ • asdfで読める形式でActionsの方を追加 ◦
vプレフィックスの有無など気をつけポイント 19
asdf install ecspresso (asdf-vm/asdf-plugins #790) • asdf install ecspressoできるように •
製作者にasdf-pluginsに登録してもらった ◦ @kolukuさん ◦ YAPC::Kyoto 2023の懇親会きっかけで進んだ 20
Tips: required_versionと組み合わせる • required_versionでこのファイルを使う ◦ jsonnet推奨 ◦ required_version: '= v'
+ importstr '.ecspresso-version' ◦ ecspresso handbook v2のChapter 15でも紹介され ている手法 21
Tips: Renovateで更新するには • Regex Managerを使って更新を拾える ◦ 参考: https://scrapbox.io/aereal-tech/Renovateで ecspressoのバージョンを上げる 22
Renovateの設定を公開 (hatena/renovate-config #70) • このRenovate設定をOSSとして公開 ◦ 参考: はてなで使用しているRenovateの設定プリセッ トを公開しました •
renovate.jsonに1行追加するだけで使えます ◦ "extends": ["github>hatena/renovate-config:ecspressoVersion.json5"] 23
24 OSS貢献のススメ
これだけ貢献したきっかけ • CI/CDの改善がOSS活動になっていた ◦ 機能が足りてないから改善する • 楽しんで追加する ◦ もはや趣味コードの一つ ◦
「このライブラリと組み合わせたら面白そう」 25
PRだけでなくIssueでも • Issueに機能要望を書くだけでも ◦ デプロイ方法は千差万別 ◦ どう使われてるかのきっかけになる • 非互換変更な要望もv2で対応してもらった 26
それ以外の貢献方法 • 使うだけでも貢献...だけど ◦ SNSなど本人に見える場所で貢献するとなおよし ◦ 良いIssue/PRがあったらリアクションするなども • OSS開発してる人が何されたら嬉しいか ◦
Songmuさんの「OSS活動を細く長く続ける技術」 27
28 寄付という手もあります
おわり • 追加した機能の歴史を紹介しました • OSS貢献でこれからも長く利用していきましょう 29