2018년 12월 15일 마이크로소프트웨어 콘퍼런스, 마소콘 2018 기술 부채의 늪 탈출기- 개발 문화의 완성 - 허진수
Dec 11, 2018MASOCON 2018기술 부채의 늪 탈출기: 개발 문화의 완성ೲࣻ - ۟झ۽ࠁ ӝࣿোҳࣗ SWѐߊ ܻ؊݃ࣗ 394ഐࣁ࣌7 (40') 16:20 ~ 17:00
View Slide
Lead Software EngineerKoriel
Our History2016 20182015 2017 2019()۟झ۽ࠁ ߨੋ ࢸ݀ೠ ুझನ 2014 ੋӝ࢚ ࢚ࣻҴ CA ഐࣁ ࢎ ࢸ݀SK Telecom ઁ2ഥ T Hackaton ୭࢚ࣻ()۟झ۽ࠁ ࣗӝস ഛੋEchelon Asia Summit 2016, TOP 11 ࢶೠച ੋ߬झݢ(٘ܿ۞झ) ߂ ېীࣇ ߮ாೖఎ۽ࠗఠ ୨ 15রਗ ై ਬ2018 IF Design Awardपप ହস ؘݽؘ ࢚ (җӝࣿࠁాनࠗ)2018 ೠҴস೯ ైਬೠചѤࢸҗ IoT ۖಬ সޖഈড(MOU) Ѿ()۟झ۽ࠁ ߮ӝস ੋૐࣗӝস ୭ࣻ ֙ӝস ࢶ()ೊۨ 1রਗ ై ਬ()۟झ۽ࠁ ӝࣿোҳࣗ ࢸ݀ೠҴ۽ࠈসഈഥ(KAR) ഥਗࢎ оੑয়࠳ۨੋ / য় ੋ߬झݢ۽ࠗఠ 40রਗ ై ਬझఋস Global Demoday 1ਤࣻഄनӝস࢚ ࢚ࣻ (KOTRA)Beyond TIPS 2017 ୭࢚ࣻ ࢚ࣻ (ࣗ߮ӝসࠗ/ೠܿਗ)Next level92014
My History2016 2017April2015 2017Jan2018োࣁҮ ޛܻҗ ੑೠҴ٣ణ٣যҊ١Ү ઔসҮ জ(োজ) ѐߊ3000ݺ ࢎਊ۟झ۽ࠁ ܨSoftware EngineerC++, Javascript, Swiftޖੋ೦ҕӝ ѐߊNaver D2 Startup Factory SpeechKorea Robot Aircraft Competitionݧ੬ ࢎۢRoR Web application tutorDevOps managerӝࣿোҳࣗ SWѐߊ ҙܻӝദࠗఠ ߓನө ݽٚ җਸ ҙܻ102013
What is DevOps? 11
Legacy codes No issue management No git rules No code reviewProblems 12
Legacy codes No issue management No git rules No code reviewProblems 13
Issue management• Kanban, not Scrum• Weekly conference call• Daily stand-up meeting• Version-based scheduling• VOC by creating JIRA issue18
Backlog
Due date
Tracking issues’ status
Development workflow 24
Bug fix workflow 25
Daily stand-up meetingNot a real offline stand-up meeting26
Daily stand-up meeting1. Yesterday’s work2. Today’s work3. An inconvenience27
Our own git flow• Bug fixes ——-——-———- hotfix branch• Others ——————-——— feature branch• Release commit ——-—-— release branch• master and develop is under protection30
and one more strict rule…The master and develop branches can only be modified viathe GitLab MR.31
Description
What is this? 37
LGTM emojiLGTM means “Looks Good To Me”.Code reviewers use this to approve the changes.38
LGTM emoji 39
PlaidѨషח ҳۨೠ Ѫٜী ೞח Ѧ ೖ೧ঠ פ. ٘ ܻ࠭חೠ ೠ ੍Ҋ п पࣻܳ ইղח Ѫ ইתפ. ٘ ܻ࠭ח٘ܳ ਵ۽ ࠁҊ ؊ ҅ী ٜযݏח ࠁח Ѫੑפ. ࢎࣗೠ ݭٜਸ Ҋ۰ೞݶ উ ػח Ѫ ইפ݅ ӒѪ ܻ٘࠭ ୡ غযࢲח উ ؾפ.
Jenkins is for…Build automationCI/CD pipeline42
Jenkinsfile 43
Our lovely Jenkins is doing now…• Build triggers• Push Events• Opened Merge Request Events• Comment (regex) for triggering a build• Extracting artifacts• Auto-release by tag-push44
Jenkins is the first code reviewer 45
Jenkins is the first code reviewer 46
Build artifacts 47Just download and test!
Auto-release by tag-push 48
Auto-release by tag-push 49
Auto-release by tag-push 50
It’s done!
Korielҙܻ ೡ ѐߊо ٘݅ ಞೞѱ ࢿೡ ࣻ ب۾ذח Ѫ
Any questions?5 min.
Thanks forvisitingSee you next time,Let’s call it a day!
Contact infoࢲୡҳ ъթ۽ 311 [email protected] koriel.kr fb.me/devkoriel57