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
KARTEを支えるCI環境
Search
positiveflat
November 08, 2016
Programming
1
2.1k
KARTEを支えるCI環境
positiveflat
November 08, 2016
Tweet
Share
More Decks by positiveflat
See All by positiveflat
マルチプロダクト開発体制における エンジニアリングマネジメント | 野田 陽平 PLAID, Inc
positiveflat
2
510
プレイドにおけるプロダクトの国際化の取り組み | 野田 陽平 PLAID, Inc
positiveflat
6
2.9k
CXプラットフォームKARTEのプロダクト改善
positiveflat
1
1.3k
Vue.jsを数ヶ月使ってみて遭遇した問題とその解決策
positiveflat
4
4.4k
Other Decks in Programming
See All in Programming
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
4
1.9k
役立つログに取り組もう
irof
28
9.3k
僕がつくった48個のWebサービス達
yusukebe
20
17k
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
4.2k
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
240
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
590
Outline View in SwiftUI
1024jp
1
280
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
310
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
5
2k
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
480
Realtime API 入門
riofujimon
0
140
Java ジェネリクス入門 2024
nagise
0
680
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Designing for humans not robots
tammielis
249
25k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Music & Morning Musume
bryan
46
6.2k
A designer walks into a library…
pauljervisheath
202
24k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Cult of Friendly URLs
andyhume
78
6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
KATA
mclloyd
29
14k
Transcript
,"35&Λࢧ͑Δ$*ڥ 1-"*% *OD :PIFJ/PEB
ࣗݾհ ໊લ:PIFJ/PEB ॴଐגࣜձࣾϓϨΠυ UXJUUFS!QPTJUJWFqBU *#.ιϑτΣΞ։ൃݚڀॴ ిࢠใ։ࣔؔ࿈ͷιϑτΣΞ։ൃ ʙגࣜձࣾϓϨΠυ
ϦΞϧλΠϜ8FC٬πʔϧͷ։ൃ ʢ6* #BDLFOE $*৭ʑʣ
ͲΜͳαʔϏεΛ։ൃ͍ͯ͠Δ͔ ։ൃελϯεͱҙࣝ 1-"*%ͷ$*ڥͷશମ૾ ى͖ͨͱऔΓΜͰ͖ͨ͜ͱ ·ͱΊ
ͲΜͳαʔϏεΛ։ൃ͍ͯ͠Δ͔
WEB٬ϓϥοτϑΥʔϜ KARTEΛ։ൃ͍ͯ͠·͢
Πϕϯτඵ ඵؒτϥοΩϯά Y ඵղੳ ղੳͷ.BY࣌ؒ ԯ =݄ ݄ؒྲྀ௨ֹۚ
WEB٬ϓϥοτϑΥʔϜ KARTEΛ։ൃ͍ͯ͠·͢
input - output
2015.3ͷϦϦʔεҎ߱ 1300ࣾҎ্ʹಋೖ
։ൃελϯεͱҙࣝ
• શһ͕ࣗͰߟ͑Δ • શһ͕θϩϕʔεͰߟ͑Δ • શһ͕͢Δ ࣗ༝ͰϑϥοτͳνʔϜͰɺεϐʔυײͷ͋Δ։ൃΛࢦ͢ ࣦഊΛڐ༰ͯ͠ɺτϥΠΞϯυΤϥʔͰਐΜͰ͍͘
Software development process ʢΑ͘ݟΔv-modelʣ
ཁ݅ఆٛ ઃܭ ৄࡉઃܭ ࣮ ςετ ϦϦʔε
ӡ༻ खΓίετ
ςετࣗಈԽͷత • Regression issueΛݮΒ͢ • खΓΛ͑ͯ։ൃͷεϐʔυΛҡ࣋͢Δ • ςετͷίετݮ
1-"*%ͷ$*ڥ
Development process
Release process (git-flow) 3FMFBTF 3FMFBTF CSBODI %FQMPZUP FWBMVBUJPO FOW .BOVBM
5FTU %FQMPZUP QSPEVDUJPO FOW
None
GUI Automation (selenium)
ى͖ͨͱऔΓΜͰ͖ͨ͜ͱ
ى͖ͨ • ͍ͬͯΔΠϯελϯε͕͍ • GUI automation testͰɺelement͕ͳ͔ͳ͔ݟ͔ͭ Βͳ͍(sleepࠈ) • ςετʹ͕͔͔࣌ؒΔͱฒྻΛ্͛ͨ͘ͳΔͷͰɺ
ෆඞཁʹ༻͢Δ͕ଟ͘ͳΔ
CircleCIͰͷฒྻԽ
CircleCI Enterprise • ࣗͰΠϯελϯεΛཱͯͯͦΕΛ͑Δ (ςετʹ߹Θͤͯࣗ༝ʹmachine specΛ ௐͰ͖Δʣ • 30 days
trial
GUI automation XFCESJWFSXBJU ESJWFS FMFNFOUTESJWFSpOE&MFNFOUT CZ@IPHF SFUVSOXFCESJWFSQSPNJTFpMUFSFMFNFOUT
FMFNFOU FMFNJT%JTQMBZFE UIFO FMFNFOUT FMFNFOUTMFOHUI UJNFPVU FSSPS.TH • elementݟ͔ͭΒͳ͍ • ڥʹΑͬͯඳը͕͍ • ୯७ͳsleepͩͱඳը࣌ؒͷมԽʹରԠͰ͖ͳ͍
ݱࡏͷ՝ • Manual testͷ෦͕͍ͬͯΔ • ࣮ߦ͕͍࣌ؒ
ࠓޙͷ༧ఆ • Dockerizeͯ͠ςετ༻ͷڥઃఆͷ࣌ؒ ݮ͢Δ • productionڥͷdeployલͷςετࣗಈԽ ʢΠϯλʔϯͷֶੜ͕ࣗಈԽதʂ͏͙͢ʣ
5. ·ͱΊ • PLAIDͷCIڥͷհ • ى͖ͨͱऔΓΜͰ͖ͨ͜ͱ
1-"*% *OD ΤϯδχΞืूதͰ͢ʂ