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.3k
KARTEを支えるCI環境
positiveflat
November 08, 2016
Tweet
Share
More Decks by positiveflat
See All by positiveflat
マルチプロダクト開発体制における エンジニアリングマネジメント | 野田 陽平 PLAID, Inc
positiveflat
2
680
プレイドにおけるプロダクトの国際化の取り組み | 野田 陽平 PLAID, Inc
positiveflat
6
3k
CXプラットフォームKARTEのプロダクト改善
positiveflat
1
1.5k
Vue.jsを数ヶ月使ってみて遭遇した問題とその解決策
positiveflat
4
4.5k
Other Decks in Programming
See All in Programming
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
13
13k
カンファレンス遠征を(安く)楽しむ技術
wp_daisuke
0
170
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.5k
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.1k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
13k
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
510
CSC509 Lecture 13
javiergs
PRO
0
250
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
480
高単価案件で働くための心構え
nullnull
0
150
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
480
CSC509 Lecture 10
javiergs
PRO
0
180
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Building an army of robots
kneath
306
46k
Bash Introduction
62gerente
615
210k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Language of Interfaces
destraynor
162
25k
Writing Fast Ruby
sferik
630
62k
GitHub's CSS Performance
jonrohan
1032
470k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Visualization
eitanlees
150
16k
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 ΤϯδχΞืूதͰ͢ʂ