Save 37% off PRO during our Black Friday Sale! »

CircleCIを使って 「完全サーバーレス運用」を 実現した話

CircleCIを使って 「完全サーバーレス運用」を 実現した話

CircleCIを使って「完全サーバーレス運用」を実現した話

F247cc71d9e0bba9f60709c3ae48dd80?s=128

Akifumi Tominaga

March 05, 2019
Tweet

Transcript

  1. CircleCIΛ࢖ͬͯ ʮ׬શαʔόʔϨεӡ༻ʯΛ ࣮ݱͨ͠࿩ 2019/03/05 CircleCI Meetup @decoch

  2. ࣗݾ঺հ • ໊લ : ෌Ӭߊ࢙ @decoch • ձࣾ : גࣜձࣾϏζϦʔν

    • ৬छ : Engineer(Backend, SmartPhoneApp) • ݴޠ : Golang, Ruby, Kotlin, Swift • CI/CD͸͜͜൒೥Ͱ΍Γ࢝Ίͨ •
  3. એ఻ • CircleCIͷϋοΧιϯͰOrbΛ࡞Γ·ͨ͠ • https://github.com/decoch/line-orb • https://github.com/decoch/chatwork-orb

  4. ͪͳΈʹ • https://tech.bizreach.co.jp/posts/254/circleci/

  5. Agenda • എܠ • ԿΛͨ͠ͷ͔ • CircleCIΛ࢖ͬͯΈͯ • ·ͱΊ •

    Q&A
  6. എܠ

  7. എܠ • BizHintͰ͸ Ruby on Rails Λ࢖ͬͯ։ൃ • EC2 Ͱ͸ࣗ෼ͨͪͰ੬ऑੑͷύονΛ౰ͯɺ

    όʔδϣϯΞοϓΛ͢Δඞཁ͕͋Δ • CI؀ڥͱͯ͠JenkinsαʔόʔΛཱ͍ͯͯΔ
  8. എܠ • ৽نαʔϏεΛ GCP ͷ App Engine Λ࢖ͬͨ αʔόʔϨεͳΞϓϦέʔγϣϯΛ։ൃ •

    ৽نαʔϏεͷβϦϦʔεʹࡍ͠ɺCI؀ڥΛ੔ උ͢Δඞཁ͕͋Δ • CIπʔϧͷΫϥ΢υαʔϏε͸ͳ͍͔ௐࠪ
  9. ԿΛ΍ͬͨͷ͔

  10. ͦ΋ͦ΋׬શαʔόʔϨεͱ͸ Compute Engine Amazon EC2 App Engine Cloud Functions AWS

    Lambda • ※νʔϜͷߟ͑
  11. ࣮ࡍͷߏ੒ App Engine Cloud Datastore Cloud Functions Cloud Pub/Sub Cloud

    Bigtable
  12. ԿΛ΍ͬͨͷ͔ • αʔόʔ؅ཧΛͤͣʹαʔϏεΛӡ༻͍ͨ͠ • GCPͷϑϧϚωʔδυͳαʔϏεΛར༻ • CI/CD͸CircleCIΛར༻

  13. ࣮ࡍʹӡ༻ͯ͠Έͯ • Πϯϑϥઐ໳ͷΤϯδχΞͳ͠Ͱӡ༻͕Ͱ͖ ͍ͯΔ • αʔόʔͷઃఆ͕গͳ͘ૉૣ͘αʔϏεΛϦ ϦʔεͰ͖ͨ

  14. CircleCIΛ࢖ͬͯΈͯ

  15. CircleCIΛ࢖ͬͯΑ͔ͬͨ఺ • ؆୯ʹCI؀ڥΛߏஙͰ͖Δ • ઃఆϑΝΠϧΛGit؅ཧͰ͖Δ • ڞ༗ͷઃఆΛOrbͰڞ༗Ͱ͖Δ

  16. ؆୯ʹCI؀ڥΛߏஙͰ͖Δ 1. .circleci/config.yml ͷઃఆϑΝΠϧΛ࡞੒ 2. config.yml ʹઃఆΛهड़ 3. GitHubʹϓογϡ 4.

    CircleCIͰϏϧυΛ։࢝
  17. ઃఆϑΝΠϧΛGit؅ཧͰ͖Δ • .circleci/config.yml ʹઃఆΛهड़͢Δ • αʔόʔαΠυΤϯδχΞ͕ؾܰʹઃఆมߋ ΛͰ͖Δ • Πϯϑϥઐ໳ͷΤϯδχΞͳ͠ͰαʔϏεͷ ӡ༻͕Ͱ͖͍ͯΔ

  18. ڞ༗ͷઃఆΛOrbͰڞ༗Ͱ͖Δ

  19. վળ • 2.1ϦϦʔεʹϦϦʔεͨ͠ͷͰɺσϓϩΠί ϚϯυͷOrbԽ͕Ͱ͖͍ͯͳ͍ • ձࣾશମͰಋೖ͍ͯ͠ͳ͍ͷͰɺΠϯελϯ ε਺͕গͳ͘Ωϡʔ͕ཷ·Γ͕ͪ • CircleCIͷyamlͷઃఆ͕ؾܰʹςετͰ͖ͣ࠷ ॳखؒऔͬͨ

  20. ·ͱΊ

  21. ·ͱΊ • αʔόʔϨεͰӡ༻͢Δ͜ͱͰӡ༻ίετΛ Լ͛Δ͜ͱ͕Ͱ͖ͨ • ӡ༻ίετ࡟ݮ͚ͩͰͳ͘ɺαʔϏεͷཱͪ ্͛଎౓΋্͕Δ • ࡉ͔͍νϡʔχϯά͕ඞཁʹͳͬͨΒࣗલͰ ӡ༻͢ΔΑ͏ʹͳΔ͔΋

  22. Q&A