Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspres...
Search
cohalz
August 08, 2023
Programming
10k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspresso MeetUp
https://jawsug-container.connpass.com/event/285124/
cohalz
August 08, 2023
More Decks by cohalz
See All by cohalz
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
1k
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
13k
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
2.5k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.9k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
300
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
cohalz
0
310
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
7.9k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
20k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
cohalz
0
2.6k
Other Decks in Programming
See All in Programming
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
300
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
LLM 101
dalinaum
0
470
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
300
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
小さなアプリを作って公開するまで
onozaty
0
140
Spec-driven Development with AI
simas
PRO
0
2.3k
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
110
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
460
How to Ace a Technical Interview
jacobian
280
24k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
910
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Everyday Curiosity
cassininazir
0
390
Tell your own story through comics
letsgokoyo
1
1.1k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Rails Girls Zürich Keynote
gr2m
96
14k
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