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
cohalz
August 08, 2023
Programming
1
7k
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
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
5.7k
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
1.8k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.6k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
160
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
cohalz
0
200
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
7.1k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
19k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
cohalz
0
2.4k
Envoy.なんか / Kyoto.なんか #5
cohalz
1
210
Other Decks in Programming
See All in Programming
ミリしらMCP勉強会
watany
4
760
Being an ethical software engineer
xgouchet
PRO
0
210
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
380
Making TCPSocket.new "Happy"!
coe401_
1
1.1k
API for docs
soutaro
2
1.2k
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1k
Unlock the Potential of Swift Code Generation
rockname
0
250
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
640
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
140
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
120
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
0
640
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.6k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Six Lessons from altMBA
skipperchong
27
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Adaptive Systems
keathley
41
2.5k
The Cult of Friendly URLs
andyhume
78
6.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Adopting Sorbet at Scale
ufuk
76
9.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
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