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
GitHubだけでWebフロントエンドのCI/CDをまわしてみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ozaki25
October 01, 2019
Technology
85
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHubだけでWebフロントエンドのCI/CDをまわしてみた
ozaki25
October 01, 2019
Transcript
55 slides
(JU)VC͚ͩͰ$*$%Λճͯ͠ΈΔ ඌ࡚༐Ұ
ࣗݾհ w ໊લɿඌ࡚༐Ұ w ٕज़ɿ3FBDU 3FBDU/BUJWF 'JSFCBTF 18" αʔόʔϨε w
5XJUUFSɿ!P[BLJSO w (JU)VCɿP[BLJ w 2JJUBɿP[BLJ P[BLJͷ എ൪߸͔Β͖ͯ·͢ ʢ࠷ۙ͞΅Γؾຯʣ
࣍ (JU)VC"DUJPOTͱ (JU)VC"DUJPOTͷ͍ํ (JU)VC͚ͩͰ8FCϑϩϯτΤϯυͷ$*$%Λ݁ͤͯ͞Έͨ αʔόʔϨεͳ41"։ൃͰ(JU)VC"DUJPOTΛϑϧ׆༻ͯ͠Έͨ
ײ·ͱΊ
(JU)VC"DUJPOTͱ
(JU)VCͱ w ઃܭਤڞ༗αΠτ w ιʔείʔυΛϗεςΟϯάͰ͖Δ8FCαʔϏε w ΦʔϓϯιʔεͷϥΠϒϥϦݸਓϓϩδΣΫτͳͲ ෯͘ΘΕ͍ͯΔ w ྨࣅαʔϏεʹ(JUMBCɺ#JU#VDLFUͳͲ͕͋Δ
IUUQTPDUPEFYHJUIVCDPN
(JU)VC"DUJPOTͱ w (JU)VCʹՃ͞Εͨ$*αʔϏεʢݱࡏЌ൛ʣ w ϦϙδτϦͷ1VTIͳͲΛτϦΨʔʹλεΫΛ࣮ߦͰ͖Δ w λεΫԾڥͰ࣮ߦ͞ΕΔͷͰݴޠΛΘͣ ϏϧυςετͳͲԿͰ࣮ߦͰ͖Δ w ྨࣅαʔϏεʹ+FOLJOTɺ$JSDMF$*ɺ$PODPVSTFͳͲ͕͋Δ
ྉۚମܥ IUUQTHJUIVCDPKQGFBUVSFTBDUJPOT
(JU)VC"DUJPOTͷ͍ํ
(JU)VC"DUJPOTͷར༻ొ w ݱࡏਃ͠ͳ͍ͱ͑ͳ͍ IUUQTHJUIVCDPNGFBUVSFTBDUJPOTTJHOVQ
(JU)VC"DUJPOTͷར༻ొ w దͳࣗͷϦϙδτϦͰ"DUJPOTͷλϒ͕ग़͍ͯΕ0,
(JU)VC"DUJPOTͷઃఆϑΝΠϧ࡞ w HJUIVCXPSLqPXTԼʹZBNMϑΝΠϧΛ࡞͢Δ͚ͩͰ (JU)VC͕উखʹೝࣝͯ͘͠ΕΔ
ઃఆϑΝΠϧͷαϯϓϧ
ઃఆϑΝΠϧͷαϯϓϧ 8PSLqPX໊
ઃఆϑΝΠϧͷαϯϓϧ τϦΨʔ 1VTI͞Εͨ࣌ 1VMM3FRVFTUͷ࡞࣌ͳͲ ઃఆͰ͖Δ
ઃఆϑΝΠϧͷαϯϓϧ +PCͷఆٛ ෳఆٛ͢Δͱฒྻʹ࣮ߦ͞ΕΔ ͜ͷྫͰUFTUͱ͍͏KPCΛ ͻͱ͚ͭͩఆ͍ٛͯ͠Δ
ઃఆϑΝΠϧͷαϯϓϧ ڥͷઃఆ ͜ͷྫͰ6CVOUVʹ/PEFͷڥΛ ηοτΞοϓ͍ͯ͠Δ
ઃఆϑΝΠϧͷαϯϓϧ λεΫͷઃఆ ࣮ߦ͢ΔίϚϯυΛఆ͍ٛͯ͘͠ ͜ͷྫͰIFMMPͱIFMMPOPEFͷͱ͍͏ λεΫΛఆ͍ٛͯ͠Δ
ઃఆϑΝΠϧͷαϯϓϧ w ৄࡉҎԼͷϖʔδʹࡌͬͯ·͢ w IUUQTIFMQHJUIVCDPNKBBSUJDMFT XPSLqPXTZOUBYGPSHJUIVCBDUJPOT
࣮ߦ݁Ռͷαϯϓϧ
,FZใͷຒΊࠐΈ w "1*,FZͷΑ͏ͳιʔείʔυ্ʹॻ͖ͨ͘ͳ͍ใ 4FDSFUTͱͯ͠(JU)VC্ʹొ͠औΓࠐΉ͜ͱ͕Ͱ͖Δ ʮ4FUUJOHTʯʮTFDSFUTʯ͔Βొ
(JU)VC͚ͩͰ8FCϑϩϯτΤϯυͷ $*$%Λ݁ͤͯ͞Έͨ
(JU)VC"DUJPOTΛͬͯߟ͑ͨ͜ͱ w (JU)VC"DUJPOTͱ(JU)VC1BHFTΛ͑(JU)VC͚ͩͰ 8FCϑϩϯτΤϯυͷ$*$%Λ݁ͤ͞Δ͜ͱ͕Ͱ͖ͦ͏ʂ αʔόαΠυ ΫϥΠΞϯταΠυ )551௨৴ ͬͪ͜ଆͷ
Γ͍ͨ͜ͱ w 8FCϑϩϯτΤϯυͷ ։ൃ͔ΒϢʔβ͕ΞΫηε͢Δ·Ͱͷͳ͕Ε
Γ͍ͨ͜ͱ ᶃ41"ͷίʔυΛॻ͘
Γ͍ͨ͜ͱ ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI
Γ͍ͨ͜ͱ ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶅςετϏϧυσϓϩΠ Α͠ͳʹͬͯ͘Ε
Γ͍ͨ͜ͱ ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶅςετϏϧυσϓϩΠ ᶆϖʔδʹΞΫηε
(JU)VC"DUJPOTͱ(JU)VC1BHFTΛ͏ͱ
Γ͍ͨ͜ͱ ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶆϖʔδʹΞΫηε ᶅςετϏϧυσϓϩΠ IUNM DTT KT
IUNM DTT KT $*αʔϏε ϗεςΟϯάαʔϏε
%FNP
αʔόʔϨεͳ41"։ൃͰ(JU)VC"DUJPOT Λϑϧ׆༻ͯ͠Έͨ
Α͋͘ΔΞϓϦͷߏ 3FBDU -BNCEB )551௨৴ 41" "1* ϑϩϯτ41"Ͱ"1*αʔόʔϨεͳߏ
ʢࢀߟʣ/FUMJGZͱ w ੩తϑΝΠϧͷϗεςΟϯάαʔϏε w ϢʔβΞοϓϩʔυ͞Εͨ)5.-ͳͲͷ63-ʹ ΞΫηε͢Δ͜ͱͰ8FCίϯςϯπΛӾཡͰ͖Δ w /FUMJGZ(JU)VC࿈ܞ͕ߴػೳͰઃఆͳ͠Ͱ
ϒϥϯν͝ͱͷϓϨϏϡʔڥ࡞ͳͲ͕Ͱ͖Δ
ʢࢀߟʣ4UPSZCPPLͱ w 41"ͷίϯϙʔωϯτΛ 8FC্Ͱಈ࡞Λ֬ೝͰ͖Α͏ʹ͢ΔϥΠϒϥϦ w ͲΜͳίϯϙʔωϯτ͕༻ҙ͞Ε͍ͯΔ͔ͷѲ ίϯϙʔωϯτͷ͍ํͳͲΛ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ w
੩తϑΝΠϧͱͯ͠ग़ྗͰ͖ΔͨΊϗεςΟϯάαʔϏεʹ σϓϩΠ͢Δ͜ͱͰ8FC্ͰӾཡՄೳͱͳΔ
Α͋͘ΔΞϓϦͷߏ 3FBDU -BNCEB )551௨৴ 41" "1* ·ͣ ͬͪ͜ଆ͔Β
EFWϒϥϯν NBTUFSϒϥϯν ίʔυΛॻ͘ 1SFWJFXڥ ຊ൪ڥ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI ίʔυΛॻ͘ 1SFWJFXڥ ຊ൪ڥ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF 1SFWJFXڥ ຊ൪ڥ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF 1SFWJFXڥ ຊ൪ڥ
ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF 1SFWJFXڥ
ຊ൪ڥ ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF 1SFWJFXڥ
ຊ൪ڥ ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ ɹɹɹɹɹ4UPSZCPPLΛ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
%FNP
Α͋͘ΔΞϓϦͷߏ 3FBDU -BNCEB )551௨৴ 41" "1* ࣍ͬͪ͜ଆ
EFWϒϥϯν NBTUFSϒϥϯν ίʔυΛॻ͘
EFWϒϥϯν NBTUFSϒϥϯν 1VTI ίʔυΛॻ͘
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF ɹɹɹɹɹςετ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF ɹɹɹɹɹςετ
EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF ɹɹɹɹɹςετ
ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
%FNP
ײ·ͱΊ
(JU)VC"DUJPOTͷػೳʹ͍ͭͯ w ϥΠϒϥϦΛΩϟογϡͰ͖ͳ͍ͷ͕ඍົ w ຖճJOTUBMM͠ͳ͍ͱ͍͚ͳ͍͔Β͔͔࣌ؒΔ w εϖοΫѱ͍ͷ͔࣮ߦ͕͍ w ϩʔΧϧͰಉ͜͡ͱΛΔΑΓѹతʹ͍ w
࠷େ·Ͱฒྻ࣮ߦͰ͖Δ͔Β࣍ୈ͔ʁ w ΩϟογϡͰ͖ͳ͍ฒྻ࣮ߦͰΧόʔͰ͖Δ͔ʁ
(JU)VC"DUJPOTΛͬͯΈͯ w (JU)VCʹ1VTI͢ΔͷͨΓલͷϑϩʔͳͷͰɺ ͦͷྲྀΕͰ$*͕ճΔͷخ͍͠ w ݸਓ։ൃͰ$*Λճ͢ϋʔυϧ͕Լ͕ͬͨؾ͕͢Δ w ͪΌΜͱͨ͠ΞϓϦͰ͏ͳΒ ୯७ʹબࢶ͕૿͑ͨͷ͕خ͍͠ ༻్ʹ͋ͬͨͷΛ͍ͬͯ͘ͱྑͦ͞͏
·ͱΊ w (JU)VC"DUJPOTΛ͏ͱଞͷ$*αʔϏεͱಉ͡Ϩϕϧͷ ϫʔΫϑϩʔΛճͤΔ w ϦϙδτϦʹ(JU)VCΛ͏ͳΒͦͷதͰ$*·Ͱ ݁Ͱ͖ΔͷͰΑͦ͞͏ w ੑೳ໘ͳͲٻΊΔ໘ͰબࢶͷҰͭͱͯ͠಄ʹೖΕ͓ͯ͘ͱ Αͦ͞͏
͋Γ͕ͱ͏͍͟͝·ͨ͠
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
210
20210525_react_next.pdf
ozaki25
0
170
Webフロントエンドはなぜ複雑なのか
ozaki25
1
160
utility first css
ozaki25
0
130
20201225_how_to_learn_technology.pdf
ozaki25
0
190
20201124_blitz.pdf
ozaki25
0
120
20200727_liff_app.pdf
ozaki25
1
690
20200721_web_vitals.pdf
ozaki25
0
130
20200624_web_otp_api.pdf
ozaki25
1
160
Other Decks in Technology
See All in Technology
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
200
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
330
Ebitengine製iOSアプリ公開ボタンを押す会
eiei114
0
120
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
230
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
670
Sonnetだけで業務はまわる?
kintotechdev
1
110
Linuxネットワークスタック進化の軌跡: 過去10年の歩みと最新トレンド
orimanabu
2
430
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
660
Bots in Kiro Crew (One point of contact for ongoing work) | Kiro: Zero to Hero 12
inariku
PRO
1
130
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
480
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
120
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
260
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
370
My Coaching Mixtape
mlcsv
0
390
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Designing Experiences People Love
moore
143
24k
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
sira's awesome portfolio website redesign presentation
elsirapls
0
500
KATA
mclloyd
PRO
35
16k
Color Theory Basics | Prateek | Gurzu
gurzu
1
520
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Skip the Path - Find Your Career Trail
mkilby
1
290