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
コネヒトの健全性を支えるGithub Actionsの事例紹介
Search
tommykw
September 25, 2020
Programming
0
1.8k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
September 25, 2020
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
130
Kotlin Compiler Plugin 入門
tommykw
0
69
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.5k
改めて学ぶContracts
tommykw
10
6.7k
Kotlinの短絡評価について
tommykw
0
390
初めてのKotlinコントリビュート
tommykw
1
670
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
AndroidのタグView作り
tommykw
0
2.9k
Other Decks in Programming
See All in Programming
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.8k
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
Amazon Nova Reelの可能性
hideg
0
200
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
rails newと同時に型を書く
aki19035vc
5
710
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
360
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Site-Speed That Sticks
csswizardry
2
270
How to Ace a Technical Interview
jacobian
276
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Adopting Sorbet at Scale
ufuk
74
9.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
$POOFIJUP*ODా݈ೋ ίωώτϚϧγΣΦϯϥΠϯʮࣄۀΛࢧ͑Δ8FC։ൃʯWPM ϚϚͷҰาΛࢧ͑Δ ίωώτͷ݈શੑΛࢧ͑Δ (JUIVC"DUJPOTͷࣄྫհ
!UPNNZLX ా݈ೋ ίωώτ"OESPJEΤϯδχΞ
ΞδΣϯμ 1. ίωώτͷ݈શੑͱʁ 2. Github ActionsͰࣗಈԽ 3. Github Actionsͷόʔδϣχϯά
4. ·ͱΊ
ίωώτͷ݈શੑͱʁ
• ։ൃޮ্͕͕Δ͜ͱͰɺίωώτͷαʔ ϏεΛͬͯ͘ΕΔϢʔβʔૉૣ͘Ձ Λఏڙ͢Δ • ։ൃνʔϜʹ͓͚Δ݈શੑΛࣔ͢ • 2020 1QͰఆٛ͠ɺ2Q͔ΒվળΛճͯ͠
͍Δ ίωώτͷ݈શੑͱʁ
݈શੑͲΜͳࢦඪʁ
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ IssueΛదͳαΠζʹׂ͢ΔͨΊʹ ετʔϦʔϙΠϯτͷେ͖͞Λݟͯஅ
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ PR͕์ஔ͞Εͳ͍Α͏ϨϏϡʔ։࢝·Ͱ ʹͲΕ͘Β͍͔͔͍ͬͯΔ͔ΛτϥοΩϯ ά
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ PR͕Ϋϩʔζ͞ΕΔ·ͰΛτϥοΩϯά ͠ΓऔΓʹԆ͕ੜ͍ͯ͡ͳ͍͔νΣο Ϋ
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ
• λεΫணख ʙ ྃͷฏۉΛ2.4Ҏ • ϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬͨ PR͕90%Ҏ্ • PRͷੜଘظؒͷฏۉ͕1.4ҎԼ
݈શੑͲΜͳࢦඪʁ ʮϨϏϡʔ։࢝·ͰΛӦۀҎ ʹߦͬͨ13͕Ҏ্ʯΛ (JUIVC"DUJPOTͰվળͯ͠ΈΔ
(JUIVC"DUJPOTͰࣗಈԽ
• ʮϨϏϡʔ։࢝·ͰΛ1ӦۀҎʹߦͬ ͨ PR͕90%Ҏ্ʯΛୡ͍ͨ͠ • ʮҰͨͬͯϨϏϡʔ։࢝ͯ͠ͳ͍ͱ͖ ʹϨϏϡϫʔʹϝϯγϣϯΛૹΔʯʹλ εΫղͰ͖Δ •
Github scheduled remindersͰ্هͷΑ͏ ͳࡉ͔͍νϡʔχϯάͦ͠͏ Github Team ϦϚΠϯμʔΛ͏ͱ࠷খͷܦա࣌ ؒΛઃఆͰ͖Δ (JUIVC"DUJPOTͰΓ͍ͨ͜ͱ
• https://github.com/ marketplace/actions/ pull-request-reviewer- reminder-action • PRͷreviewersΛࢦఆ͠ ͔ͯΒઃఆͨ࣌ؒ͠· ͰʹϨϏϡʔ͞Ε͔ͨ
νΣοΫ͢Δ (JUIVC"DUJPOTΛ࡞ͬͨ
• .github/workflows/pull-request-reviewer- reminder.yml ͷΑ͏ͳϑΝΠϧΛ࡞͢Δ • ඞཁʹԠͯ͡ύϥϝʔλΛௐ͢Δ ͍ํ
௨༰
ಋೖͨ݁͠Ռʁ
• ࣮ಋೖͯ͠·ͩҰि͔ؒ͠ܦ͍ͬͯͳ͍ ͷͰޮՌ͕Θ͔͍ͬͯͳ͍ • ͨͩɺ௨ʹΑͬͯPRϨϏϡʔʹؾͮ͘ ໘͕૿͑ͨ • ֤ϦϙδτϦʹಋೖ͢Δඞཁ͕͋ΔͷͰ खؒ
• ࣗ࡞Github ActionsΛ࡞Δ্Ͱಠಛͳόʔ δϣϯཧ͕͋Δ ಋೖͨ݁͠Ռ
• ࣮ಋೖͯ͠·ͩҰि͔ؒ͠ܦ͍ͬͯͳ͍ ͷͰޮՌ͕Θ͔͍ͬͯͳ͍ • ͨͩɺhogehoge͞Ε͍ͯΔ • ֤ϦϙδτϦʹಋೖ͢Δඞཁ͕͋ΔͷͰ खؒ •
ࣗ࡞Github ActionsΛ࡞Δ্Ͱಠಛͳόʔ δϣϯཧΛͬͨ ಋೖͨ݁͠Ռ ͲΜͳόʔδϣϯཧ ͳΜͩΖ͏ʁ
(JUIVC"DUJPOTͷ όʔδϣχϯά
• Github MarketplaceͰGitHub ActionΛݟͯ Δͱɺv1v1.x.xͱ͍ͬͨόʔδϣϯ͕͋ Δ • ެࣜυΩϡϝϯτͰɺv1Λϝδϟʔόʔ δϣϯ͕͓͢͢Ί͞Ε͍ͯΔ
• ϝδϟʔόʔδϣϯɺޓੑΛอ্ͬͨ Ͱɺόάमਖ਼ػೳՃηΩϡϦςΟम ਖ਼Λར༻Ͱ͖Δ (JUIVC"DUJPOTͷόʔδϣ χϯά
࡞Δଆͱ͏ଆͷҙ
• ϝδϟʔόʔδϣϯ͕v1ͱͳΔΑ͏ʹ͢Δ • ϚΠφʔόʔδϣϯͳͲΛ࡞ΔͱɺλάΛ ͚ସ͑Δඞཁ͕͋Δ • https://github.com/nowactions/update- majorver Λ͏ͱࣗಈͰϝδϟʔόʔ
δϣϯΛߋ৽ͯ͘͠ΕΔ (JUIVC"DUJPOTΛ࡞Δଆ
• .github/workflows/ ҎԼʹԼهΛ࡞͢Δ VQEBUFNBKPSWFSͷ͍ํ
• ϝδϟʔόʔδϣϯ v1ͱϚΠφʔόʔδϣ ϯv1.x.x͕ඥ͍͍ͮͯΔ͜ͱΛ֬ೝ͢Δ (JUIVC"DUJPOTΛ͏ଆ
·ͱΊ
• ݱঢ়ͷίωώτͷ݈શੑʹ͍ͭͯհ͠ ͨ • PRʹؔ͢Δࢦඪ͕ଟ͔ͬͨͷͰɺGithub ActionsΛͬͯҰ෦վળͨ͠ • Github ActionsΛར༻ɺ࡞͢Δͱ͖
όʔδϣχϯάΛҙࣝ͠Α͏ ·ͱΊ
• ࣗ࡞Github ActionsΛެ։͢Δͱ͖ͷλά ͚ • https://qiita.com/yanamura/items/ a9c112f0fc2ae7ce27ac • Team
ͷεέδϡʔϧ͞ΕͨϦϚΠϯμʔ Λཧ͢Δ • https://docs.github.com/ja/github/setting- up-and-managing-organizations-and- teams/managing-scheduled-reminders- for-your-team ࢀߟจݙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·͢