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だけでWebフロントエンドのCI/CDをまわしてみた
Search
ozaki25
October 01, 2019
Technology
0
79
GitHubだけでWebフロントエンドのCI/CDをまわしてみた
ozaki25
October 01, 2019
Tweet
Share
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
180
20210525_react_next.pdf
ozaki25
0
140
Webフロントエンドはなぜ複雑なのか
ozaki25
1
130
utility first css
ozaki25
0
100
20201225_how_to_learn_technology.pdf
ozaki25
0
160
20201124_blitz.pdf
ozaki25
0
93
20200727_liff_app.pdf
ozaki25
1
650
20200721_web_vitals.pdf
ozaki25
0
110
20200624_web_otp_api.pdf
ozaki25
1
130
Other Decks in Technology
See All in Technology
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
240
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.6k
InsightX 会社説明資料/ Company deck
insightx
0
150
次世代のメールプロトコルの斜め読み
hirachan
1
190
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.9k
serverless team topology
_kensh
3
260
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
270
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
160
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
160
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
650
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
210
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
240
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Visualization
eitanlees
150
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Fireside Chat
paigeccino
41
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Transcript
(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 ੑೳ໘ͳͲٻΊΔ໘ͰબࢶͷҰͭͱͯ͠಄ʹೖΕ͓ͯ͘ͱ Αͦ͞͏
͋Γ͕ͱ͏͍͟͝·ͨ͠