Slide 1

Slide 1 text

͍ͪ͞ͳձࣾͰͷAnsible׆༻ࣄྫ ʰAnsibleపఈೖ໳ʱग़൛ه೦Πϕϯτ(2017/2/27) ߹ಉձࣾdecr ୅දࣾһ ౉ลҰ޺(@kaz_29)

Slide 2

Slide 2 text

WHO!? ౉ลҰ޺(@kaz_29) ߹ಉձࣾ decr ୅දࣾһ WebΞϓϦέʔγϣϯͷ։ൃ iOSΞϓϦέʔγϣϯͷ։ൃ Ϋϥ΢υΠϯϑϥͷߏஙɾӡ༻

Slide 3

Slide 3 text

WHAT? • WebܥͷαʔϏε։ൃ • iOSΞϓϦ։ൃ • APIόοΫΤϯυͷ։ൃ • ϑϩϯτΤϯυΞϓϦ։ൃ • Πϯϑϥߏஙɾӡ༻

Slide 4

Slide 4 text

TEAM • Θͨͳ΂ (Backend, iOS, Ops, (Frontend)) • member(Backend, Frontend) x 1 • (࣌ʑύʔτφʔ͞Μͷελοϑ)

Slide 5

Slide 5 text

SIZE ɾɾɾ ɾɾɾ ɾɾɾ ࠷খ 1୆ ଟͯ͘΋ 4ʙ10୆ఔ౓ ʙ

Slide 6

Slide 6 text

TOOLS / SERVICES

Slide 7

Slide 7 text

DEVELOPMENT • Vagrant + Ansible • ansible_local provisioner • synced_foler(rsync-auto + rsync-back) • nodejs͸ϗετଆͰ࡞ۀ͍ͯ͠Δ(࠷ۙ) • ndenvͰόʔδϣϯ؅ཧ

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

ࣗಈςετ͍ͯ͠·͔͢ʁ

Slide 10

Slide 10 text

DEVELOPMENT • UnitTest͸͕ͬͭΓॻ͍ͯ·͢ • TDD·Ͱ͸΍ͬͯͳ͍͚ͲProductionͷίʔυͱηοτͰ Commit͍ͯ͠·͢ • JSͷϑϩϯτ/iOSΞϓϦͷςετ͸৭ʑ೰ΜͰ͍·͢ • ཁ݅తʹඞཁͰ͋Ε͹BDDͰडೖΕςετ΋ॻ͘(͜ͱ΋͋Γ·͢) • डೖΕςετͷࣗಈԽ͸৭ʑ಄௧͍Ͱ͢

Slide 11

Slide 11 text

DEVELOPMENT • ܧଓతΠϯςάϨʔγϣϯ • github΁ͷpushͰCiecleCIͰࣗಈςετ • API Documentͷࣗಈੜ੒(swagger) • Github/PivotalTracker/CircleCIͳͲͷΠϕϯτ͸Slackʹ௨஌ • Ұ෦αʔϏεͰ͸HubotͰdeployͰ͖ΔΑ͏ʹ͍ͯ͠Δ

Slide 12

Slide 12 text

STAGING / PRODUCTION • ͱͰ͖Δ͚ͩຊ൪ͱಉ͡؀ڥͰ… • εςʔδϯά؀ڥ͸ɺ༧ࢉతʹ৑௕ԽͳͲ͠ͳ͍ͳͲɺશ͘ҰॹͰ ͸ͳ͍͜ͱ͕ଟ͍ • ༻్ • Provision/Deployͷಈ࡞ݕূ • ΫϥΠΞϯτ͞Μͷಈ࡞ݕূ • ʢεςʔδϯά༻ͷΞϓϦΛ࡞੒ͯ͠഑෍ʣ

Slide 13

Slide 13 text

STAGING / PRODUCTION • Dynamic inventory͸΄ͱΜͲ࢖ͬͯͳ͍ • ୆਺͕গͳ͍ͷͰ… • Feature flag • Քಇঢ়ଶΛSlackʹ௨஌ • Ansible/CapistranoͳͲͷ࣮ߦঢ়گ • ؂ࢹͷΤϥʔ

Slide 14

Slide 14 text

·ͱΊ • શͯͷ؀ڥΛAnsibleͰߏங • खಈͰઃఆ͠ͳ͍ • pyenv+virtualenvେࣄ • ࣗಈςετॏཁ • ChatͰঢ়گΛࣗಈڞ༗͢ΔͱָͰ͢