Upgrade to Pro — share decks privately, control downloads, hide ads and more …

リクルートマーケティングパートナーズでのDeployGate活用事例

 リクルートマーケティングパートナーズでのDeployGate活用事例

Bakusoku Iterations Tokyo Vol.2 での発表資料です。

E32fe793290d1e72b0a78648da9c687b?s=128

Naoki Ainoya

November 28, 2016
Tweet

Transcript

  1. ϦΫϧʔτϚʔέςΟϯάύʔτφʔζͰͷ
 DeployGate׆༻ࣄྫ @naokiainoya

  2. ࣗݾ঺հ • @naokiainoya • ϦΫϧʔτϚʔέςΟϯάύʔτφʔζ
 ϓϩμΫτ։ൃ෦ ։ൃࢧԉάϧʔϓ

  3. ։ൃج൫ΤϯδχΞతͳ͜ͱΛ ͍ͯ͠·͢ ։ൃࢧԉ(
 ϓϩμΫτԣஅతͰٕज़ࢧԉΛߦ͏ ϓϩμΫτ։ൃ෦ͷ୲౰ϓϩμΫτ܈

  4. ϓϩμΫτ։ൃΛ
 Ճ଎ͤ͞ΔͨΊͷ։ൃ • ΤϯδχΞͷख͕ճΓ͖Εͯͳ͍ͱ͜ΖΛ
 र͍ʹ͍͓͘࢓ࣄͰ͢

  5. ۩ମతͳۀ຿ • ࣾ಺herokuͷߏங(deis on GCP) • σʔλղੳج൫ߏங • e2eςετ(Appium/Selenium) •

    ݕূ୺຤؀ڥ੔උ(OpenSTFಋೖ)
  6. CI؀ڥߏங(CircleCI, DeployGate) • ଍ճΓݻΊେࣄ https://cdn.meme.am/instances/500x/ 65068604.jpg https://cdn.meme.am/instances/500x/ 65068604.jpg https://cdn.meme.am/instances/500x/ 65068604.jpg

  7. DeployGate • (΄΅)શͯͷϓϩμΫτͰ࢖ͬͯ·͢!!

  8. Έͳ͞ΜԿਓ͙Β͍Ͱ DeployGate࢖ͬͯ·͔͢ʁ • 50ਓҎ্ͷਓʁ • 100ਓҎ্ͷਓʁʁ • 500ਓҎ্ͷਓʁʁʁ

  9. ฐࣾͷDeployGateϢʔβ਺ɺ ଟ͍ • ϦΫϧʔτάϧʔϓͱͯ͠ શࣾతʹར༻
 ฐΧϯύχʔ͚ͩͰ100ਓ ௒ɾΞϓϦ਺ेຊ • (શମͰ਺͑ΔͱͱΜͰ΋ͳ ͍ਓ਺ʹ)

  10. εςʔΫϗϧμʔଟ͍؀ڥͰͷ ΞϓϦ഑෍… • σΟϨΫλʔɾӦۀɾίϯςϯπฤूऀͳͲ ؔ܎ऀ͕ଟ͍ • iOSͷ৔߹uuidొ࿥ͳͲ൥Θ͍͠λεΫ͕ଟ͍ ͷͰࠔ͍ͬͯͨ

  11. EnterpriseϏϧυ+ެ։ϖʔδ Ͱര଎഑෍ • ѹ౗తͳෛ୲ݮ

  12. slack࿈ܞͰ͙͢഑෍ • (iOS)fastlaneͷslack webhookͰ௨஌ • (android)deploygateͷwebhookͰ௨஌

  13. ഑෍ཤྺ΋ݟฦͤΔศར͞ • ୭͕ԿͷversionΛμ΢ϯϩʔυͨ͠ͷ͔·Ͱ Slackʹ௨஌Ͱ͖Δ • QAͷͱ͖ಛʹ໾ʹཱͭ

  14. μ΢ϯϩʔυͨ͠ΞϓϦ͕ͻͱ໨Ͱ Կͷόʔδϣϯ͔Θ͔Βͳ͍໰୊ • ݱ৔Ͱ֬ೝͷ࣌ɺεϚϗͰΞϓϦΛ։͍ͯ
 όʔδϣϯ৘ใΛݟͳ͍ͱ෼͔Βͳ͍ • QAͷͱ͖ɺಛʹࠔΔ

  15. ։ൃ൛Ͱͷͪΐͬͱͨ͠޻෉ • ΞΠίϯʹόʔδϣϯ෇༩ • Πϯετʔϧ͞Εͨόʔδϣϯ͕
 Ұ໨ྎવʹ

  16. fastlaneͷλεΫͰόʔδϣϯ ෇༩ • ΞΠίϯʹόʔδϣϯ෇༩ http://nsscreencast.com/episodes/213-icon-badging-with-fastlane

  17. stampͰ෇༩ • github.com/ainoya/stamp • go੡ɺCIεΫϦϓτʹຒΊࠐΉ͚ͩ

  18. ര଎഑෍Ͱ͖ΔΑ͏ʹͳ͚ͬͨͲ… Ϣʔβଟ਺ͳΒͰ͸ͷ໰୊͕

  19. Ϣʔβ਺ଟ͍ͳΒͰ͸ͷ໰୊ • ආ͚ͯ௨Εͳ͍ͷ͕Ϣʔβ؅ཧ • ݖݶ؅ཧ • IDΫϦʔχϯά • ౳ʑ…

  20. ن໛େ͖Ίͷ૊৫Ͱͷ
 Ϣʔβ؅ཧ͋Δ͋Δ • ਃ੥->(ঝೝ)->ొ࿥ͷ࡞ۀ ͕໘౗ • ݖݶʢ։ൃऀɾςελʔʣ ͷίϯτϩʔϧ͕໘౗ • ΞΧ΢ϯτ਺Ͱ՝ۚͳͷͰ

    Ή΍Έʹ਺;΍ͨ͘͠ͳ ͍…
  21. ֎෦αʔϏεଆͷ؅ཧը໘Ͱ
 खಈઃఆ͢Δͷ͸ݶք • Φϖϛε͕ࢥΘ͵Πϯγσϯτͷݩʹ…

  22. Infrastrucuture as codeԽͯ͠ ͠·͓͏ʂʂ • AWSҎ֎ͷSaaSͷઃఆ΋codeͰҰݩ؅ཧ͢ Δ࣌୅དྷͯ·͢

  23. Ϣʔβ؅ཧ΋code؅ཧʹͯ͠ ͠·͍·͠ΐ͏ɻ

  24. terraformͰɻ

  25. recruit-mp/terraform- provider-deploygate ͷ͝঺հ • (deploygate apiͷgoΫϥΠΞϯτ
 recruit-mp/go-deploygate΋ఴ͑ͯ…) ⏩

  26. ͜Ε͸Կ • terraformͷpluginͰ͢ • terraform/builtin/githubϓϥάΠϯΛࢀߟʹ ͠ͳ͕Β࡞Γ·ͨ͠

  27. Կ͕Ͱ͖Δ͔ • PersonalͰެ։ͨ͠ΞϓϦ΁ͷ
 Ϣʔβݖݶ௥Ճɾ࡟আ • Organization΁ͷϢʔβ௥Ճɾ࡟আ • ެ։APIͰͰ͖Δ͜ͱΛҰ௨Γαϙʔτ

  28. ࢖͍ํ • terraformͷ࢖͍ํʹ४͡·͢ • terraform-provider-deploygateΛ
 go buildͯ͠terraformͷόΠφϦͱ
 ಉσΟϨΫτϦʹ഑ஔ

  29. ઃఆϑΝΠϧͷهड़

  30. terraform plan/applyͰ
 ઃఆΛαʔϏεʹద༻ • "terraform plan"Ͱద༻಺༰Λ֬ೝ

  31. terraform plan/applyͰ
 ઃఆΛαʔϏεʹద༻ • "terraform apply"ͰઃఆΛద༻

  32. Ϣʔβઃఆas codeͷϝϦοτ • git؅ཧʹͳΔͷͰɺൃߦཤྺ͕࢒Δʢ؂ࠪϩ άͷ୅ΘΓʹ΋ͳΔ) • ϓϧϦΫϕʔεͰͷਃ੥ϑϩʔͳͲϫʔΫϑ ϩʔͮ͘Γ͕༰қ

  33. ·ͱΊ • deploygateര଎ศར • ໘౗ͳϢʔβ؅ཧ͸؅ཧը໘Ͱ
 ΍Βͳ͍ͰterraformΛ࢖͏ͱ
 ΋΍΋΍ײ͕͖ͬ͢Γ☺ • deploygate api͸؅ཧܥͷ


    ΤϯυϙΠϯτ௥Ճʹظ଴
  34. ෇࿥ɾterraform provider࡞੒ ͷࢀߟʹͨ͠ࢿྉ • goॻ͚ΔਓͳΒҙ֎ͱ؆୯ɻ൒೔͙Β͍Ͱ࡞Ε·ͨ͠ɻ • hashicorp/terraform/builtin ҎԼͷprovider܈ͷίʔυΛಡΉ ͱཧղ͕ૣ͍ͱࢥ͍·͢ •

    (ྑهࣄ)TerraformͷProviderΛ࡞ͬͨ - tkak's tech blog 
 http://tkak.hatenablog.com/entry/2014/11/07/074044 • ͔Θ͍͍ϑϦʔૉࡐू ͍Β͢ͱ΍ 
 http://www.irasutoya.com/