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
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
250
Jakarta EE meets AI
ivargrimstad
0
370
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
色々なIaCツールを実際に触って比較してみる
iriikeita
0
320
Macとオーディオ再生 2024/11/02
yusukeito
0
360
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
470
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.8k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
450
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
200
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
810
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
320
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
510
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Building Adaptive Systems
keathley
38
2.3k
Six Lessons from altMBA
skipperchong
27
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
What's new in Ruby 2.0
geeforr
343
31k
Teambox: Starting and Learning
jrom
133
8.8k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
A Philosophy of Restraint
colly
203
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 ΤϯδχΞืूதͰ͢ʂ