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
5.9k
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
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
1.4k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.5k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
98
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
cohalz
0
130
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
6k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
18k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
cohalz
0
2.2k
Envoy.なんか / Kyoto.なんか #5
cohalz
0
150
CDKを用いたモダンなECSクラスタの構築と運用 / AWS Cloud Development Kit -CDK- Meetup
cohalz
6
3.2k
Other Decks in Programming
See All in Programming
急速に利用拡大を続ける飲食店向けサービスで 店内端末同士のローカル通信を追加設定なしで実現した話
whatasoda
0
140
知られざるNaNの世界
hole
3
1k
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
740
Kotlin Multiplatform at Stable and Beyond (Kotlin Vienna, October 2024)
zsmb
2
410
文化が生産性を作る
jimpei
3
610
(Deep|Web) Link support with expo-router
mrtry
0
190
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
0
280
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
220
20241004 モノタロウ式~ドメインモデリングとリアーキテクチャ
monotaro
PRO
2
650
How to debug Xdebug... or any other weird bug in PHP
dunglas
2
1.5k
NEWTにおけるiOS18対応の進め方
ryu1sazae
0
330
個人開発で使ってるやつを紹介する回
yohfee
1
730
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Gamification - CAS2011
davidbonilla
80
5k
Designing Experiences People Love
moore
138
23k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Making Projects Easy
brettharned
115
5.9k
Practical Orchestrator
shlominoach
186
10k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
How GitHub (no longer) Works
holman
311
140k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Designing for Performance
lara
604
68k
Speed Design
sergeychernyshev
23
540
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
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