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
githubactions-potetotips.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
katsutomu
February 12, 2020
Programming
760
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
githubactions-potetotips.pdf
katsutomu
February 12, 2020
More Decks by katsutomu
See All by katsutomu
チームで進めるRenovate
katsutomu
0
82
CDC Testing試してみた
katsutomu
0
2.9k
Other Decks in Programming
See All in Programming
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
540
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.2k
Workers Cache を知る
syumai
0
240
Jetpack Compose メカニズム
skydoves
0
470
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.7k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
300
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
3.4k
AWSに止められる覚悟してますか?
morizo_1984
1
260
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.4k
スマート反転とウェブアクセシビリティ
camiha
0
210
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Unsuck your backbone
ammeep
672
58k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
How STYLIGHT went responsive
nonsquared
100
6.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Become a Pro
speakerdeck
PRO
31
6.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Ruling the World: When Life Gets Gamed
codingconduct
0
360
Docker and Python
trallard
47
4.2k
Transcript
ࠓ͔Β࢝ΊΔ GithubActions
ࣗݾհ ❖ ؔࠜ ࠀయ @katsutomu ❖ ίωώτגࣜձࣾ / Android Engineer
❖ 2017/11/01ʹjoin ❖ ࠷ۙTLͱͯ͠Ϛωδϝϯτͬͯ·͢
͖ΐ͏͢͜ͱ ❖ Github Actions֓ཁ ❖ ϫʔΫϑϩʔͷղઆ ❖ ΞΫγϣϯͷղઆ ❖ ϚϚϦΞϓϦͰ͍ͬͯΔ͜ͱ
Github Actions֓ཁ
֓ཁ ❖ GithubͷΠϕϯτΛτϦΨʔʹ͠ ͯɺಛఆͷϫʔΫϑϩʔΛ࣮ߦͰ ͖Δ ❖ ϫʔΫϑϩʔDockerίϯςφ্ ͰՔಇ͠ɺΞΫγϣϯΛ࣮ߦ͢Δ ❖ ΞΫγϣϯΞΫγϣϯҎԼͷ
ͷΛར༻Ͱ͖Δ ❖ ϦϙδτϦͰఆٛ͞Ε͍ͯΔΞΫγϣϯ ❖ GitHubͷOSSͷΞΫγϣϯ ❖ ެ։͞Ε͍ͯΔDockerίϯςφΠϝʔδ
ϫʔΫϑϩʔͷղઆ
ϫʔΫϑϩʔͱ ❖ Ϗϧυɺςετɺύοέʔδɺ ϦϦʔεɺͳͲΛࣗಈԽ͢Δ ϓϩηε ❖ 1ͭҎ্ͷδϣϒ͔Βߏ͞ ΕɺΞΫγϣϯΛݺͼग़ͯ͠ ಛఆͷखଓ͖Λ࣮ߦ͢Δ ϫʔΫϑϩʔ
Job1 Job2 Action Action Action Action Πϕϯτ
ϫʔΫϑϩʔͷ࡞Γํ ❖ ϫʔΫϑϩʔΛτϦΨʔ͢ΔΠϕϯτΛࢦఆ ❖ ϫʔΫϑϩʔͰ࣮ߦ͢Δδϣϒ/ΞΫγϣϯΛࢦఆ ❖ ͜ΕΒΛyamlͰهड़
TopϨϕϧߏจ ❖ nameɿϫʔΫϑϩʔͷ໊લ ❖ onɿτϦΨʔ͢ΔΠϕϯτͷࢦఆ ❖ envɿͯ͢ͷjobɺstepͰ༻͢Δڥม ❖ jobsɿҰ࿈ͷ࡞ۀΛهड़͢Δ
onߏจ ❖ onɿτϦΨʔ͢ΔΠϕϯτͷࢦఆ ❖ on.<event_name>.typesɿϑΟϧλʔ͢ΔΠϕϯτͷछ ྨΛࢦఆ ❖ on.<push|pull_request>.<branches|tags>ɿϑΟϧλʔ ͢Δϒϥϯν/λάͷࢦఆ
ࢦఆͰ͖ΔΠϕϯτ ❖ WebhookΠϕϯτɿGithubͰൃੜͨ͠Πϕϯτ ❖ push/create/pull_request/etc… ❖ εέδϡʔϧΠϕϯτɿಛఆͷ࣌ؒʹ࣮ߦ͢ΔΠϕϯτ ❖ ֎෦ΠϕϯτɿGithub APIܦ༝Ͱ࣮ߦ͢ΔΠϕϯτ
jobsߏจ ❖ jobs.<job_id>ɿδϣϒͷID ❖ jobs.<job_id>.nameɿδϣϒͷ໊લɻGithub্Ͱදࣔ͞ ΕΔ ❖ jobs.<job_id>.runs-onɿ࣮ߦ͞ΕΔԾڥΛࢦఆ ❖ jobs.<job_id>.stepsɿҰཡͷλεΫΛ·ͱΊͨͷ
❖ jobs.<job_id>.steps.usesɿ࣮ߦ͢ΔΞΫγϣϯͷࢦఆ
͜Μͳײ͡ʹͳΔ
͜Μͳײ͡ʹͳΔ ϫʔΫϑϩʔ Job1 Job2 Action Action Πϕϯτ Job3 Action
͜Μͳײ͡ Push͕ൃੜͨ࣌͠ʹ
͜Μͳײ͡ ࣮ߦ͢ΔҰ࿈ͷ jobΛࢦఆͯ͠
͜Μͳײ͡ job͝ͱʹ࣮ߦ͢Δ ڥ/εςοϓΛࢦఆ
͜Μͳײ͡ ࣮ߦ͢ΔԾڥΛ ࢦఆ
͜Μͳײ͡ εςοϓ͝ͱʹ ΞΫγϣϯΛࢦఆ
͜Μͳײ͡ ॱ൪ʹδϣϒ͕ ࣮ߦ͞Εͯ ϫʔΫϑϩʔ͕ྃ͢Δ
ΞΫγϣϯͷղઆ
ΞΫγϣϯͱ ❖ ΞΫγϣϯɺϫʔΫϑϩʔͷ࠷খͷߏཁૉ ❖ OSSͰڞ༗͞ΕΔΞΫγϣϯΛར༻͢Δ͜ͱಠࣗʹΞ ΫγϣϯΛ࡞Δ͜ͱ͕Մೳ ❖ ϫʔΫϑϩʔʹεςοϓͱؚͯ͠ΊͯΞΫγϣϯΛར༻ ͢Δ
ΞΫγϣϯͷछྨ ❖ Dockerίϯςφ ❖ ΞΫγϣϯͷར༻ऀ͕πʔϧґଘؔΛߟྀ͠ͳͯ͘ࡁΉ ❖ GitHubʹϗετ͞ΕͨLinuxڥͰΈ࣮ߦͰ͖·͢ɻ ❖ JavaScript ❖
࣮ߦʹ༻͞ΕΔڥ͔ΒΓ͚Δ͜ͱ͕Ͱ͖Δ ❖ GitHubʹϗετ͞ΕͨLinuxɺMacOSɺWindowsͷԾϚ γϯͰՔಇ
ΞΫγϣϯͷछྨ ❖ Dockerίϯςφ ❖ ΞΫγϣϯͷར༻ऀ͕πʔϧґଘؔΛߟྀ͠ͳͯ͘ࡁΉ ❖ GitHubʹϗετ͞ΕͨLinuxڥͰΈ࣮ߦͰ͖·͢ɻ ❖ JavaScript ❖
࣮ߦʹ༻͞ΕΔڥ͔ΒΓ͚Δ͜ͱ͕Ͱ͖Δ ❖ GitHubʹϗετ͞ΕͨLinuxɺMacOSɺWindowsͷԾϚ γϯͰՔಇ
ϚϚϦΞϓϦͰͷΞΫγϣϯ ❖ ϦϙδτϦΞΫγϣϯ ❖ ϦϦʔεϒϥϯνΛpushͨ࣌͠ʹࣗಈͰPRΛ࡞Δ ❖ ϦϦʔεϒϥϯνΛϚʔδͨ࣌͠ʹࣗಈͰRelease NoteΛ࡞Δ ❖ OSSͷΞΫγϣϯ
❖ ϦϙδτϦͷcheckout ❖ SlackʹϦϦʔε༰ͷ௨Λ͢Δ
ϫʔΫϑϩʔ ϫʔΫϑϩʔ createReleaseNote Checkout on PR event ❖ Ϛʔδͨ࣌͠ʹࣗಈͰRelease NoteΛ࡞Δ
❖ Step1. ϦϙδτϦΛνΣοΫΞ τ ❖ Step2. ϦϦʔεϊʔτΛ࡞ ❖ ΞΫγϣϯͷதshell ϦϦʔεϊʔτ࡞
ϫʔΫϑϩʔ
ϫʔΫϑϩʔ masterϒϥϯν͚ͷ PR͕ด͡ΒΕͨ࣌ʹ
ϫʔΫϑϩʔ ϦϙδτϦΛ νΣοΫΞτͯ͠
ϫʔΫϑϩʔ ϦϦʔεϊʔτ࡞༻ͷ ΞΫγϣϯΛ࣮ߦ
ΞΫγϣϯ
ΞΫγϣϯ ϦϦʔεϊʔτຊจΛઃఆ
ΞΫγϣϯ PRͷΠϕϯτσʔλ͔Β ϨϙδτϦΛऔಘͯ͠
ΞΫγϣϯ CURLͰGithubAPIΛୟ͖ ϦϦʔεϊʔτ࡞
ΞΫγϣϯ TokenࣗಈͰڥมʹ ηοτ͞Ε͍ͯΔ
Ͱ͖ͨϦϦʔεϊʔτ
Ͱ͖ͨϦϦʔεϊʔτ Github ActionsͰ ࡞ΒΕͯΔͶʂ
ͨ͜͠ͱ ϚʔδͰͳ͘Close࣌ʹ τϦΨʔͯ͠͠·͏
ͨ͜͠ͱ ifΛͬͯɺϚʔδ࣌ʹ ݶఆͨ͠
·ͱΊ ❖ ϫʔΫϑϩʔࣗಈԽϓϩηεͷҰ࿈ͷखଓ͖ ❖ ΞΫγϣϯݸʑʹ࣮ߦ͢ΔλεΫ ❖ OSS͔Βࢀর/ࣗ࡞͕Ͱ͖Δ ❖ ϚϚϦΞϓϦͰͷར༻ࣄྫ
ͯ͞ɺ͜͜ͰએͰ͢ʂ
ࠓճͷ༰ͱશ͘ผͰ͢
͜͜ͰએͰ͢ʂ ࣗ࡞ΞΫγϣϯΛެ։ͨͧ͠ʂ
gradle-dependency-update-action ❖ ࠩͷ͋ΔgradleϑΝΠϧΛݩʹpull requestΛ࡞ͬͯ͘ ΕΔ ❖ Gradle Use Latest Versions
Pluginͷར༻Λલఔ ❖ ·ͩ·ͩࡶͳ࡞ΓͰ͢ ❖ ྑ͔ͬͨΒࢼͯ͠Έ͍ͯͩ͘͞ʂ
͍ͤͪ͝ΐ͏͋Γ͕ͱ͏ ͍͟͝·ͨ͠
Appendix ❖ yamlγϯλοΫε ❖ Πϕϯτͷछྨ ❖ https://github.com/katsutomu/gradle-dependency- update-action