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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tommykw
September 25, 2020
Programming
2k
0
Share
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
September 25, 2020
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
170
Kotlin Compiler Plugin 入門
tommykw
0
110
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.3k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.7k
改めて学ぶContracts
tommykw
10
7.1k
Kotlinの短絡評価について
tommykw
0
500
初めてのKotlinコントリビュート
tommykw
1
740
Kotlin Issueを投げてみよう!
tommykw
0
3.4k
AndroidのタグView作り
tommykw
0
3k
Other Decks in Programming
See All in Programming
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
220
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3k
初めてのRubyKaigiはこう見えた
jellyfish700
0
340
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
120
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
460
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
750
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
390
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3k
Oxlintのカスタムルールの現況
syumai
5
890
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
410
iOS26時代の新規アプリ開発
yuukiw00w
0
210
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
820
Agile that works and the tools we love
rasmusluckow
331
21k
GitHub's CSS Performance
jonrohan
1033
470k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Automating Front-end Workflow
addyosmani
1370
210k
HDC tutorial
michielstock
2
680
Designing Powerful Visuals for Engaging Learning
tmiket
1
390
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
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 ࢀߟจݙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·͢