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

デプロイのたびに障害が起こるシステムを安全にした話

OMOTO Kenji
November 22, 2018

 デプロイのたびに障害が起こるシステムを安全にした話

Sansan×M3 Tech Night ~レガシーシステムに立ち向かえ!~

OMOTO Kenji

November 22, 2018
Tweet

More Decks by OMOTO Kenji

Other Decks in Programming

Transcript

  1.  • ϓϩάϥϚʔ̒೥൒ / ΤϜεϦʔ̏೥൒ • ΤϜεϦʔͰ͸ɺج൫։ൃνʔϜ • ෳ਺ࣄۀͰ࢖༻͢ΔαʔϏεͷ։ൃɾӡ༻ •

    ࣾ಺ͷ։ൃ؀ڥͷվળ • ϓϩάϥϛϯάݴޠ: Python, Ruby, Java, Kotlin, Scalaʢͭ·Γશͯʣ খຊ݈࢘ʢ͓΋ͱ͚Μ͡, doloopwhileʣ  
  2.  ϝʔϧίϯγΣϧδϡ • ಺੡ͷձһ޲͚ϝϧϚΨ഑৴γεςϜ • Ruby on Rails੡ • ߴػೳʢ։෧਺ܭଌɺA/BςετɺαʔϏεؒ࿈ܞͳͲʣ

    • ຖ݄500ສ௨Ҏ্ͷϝʔϧΛૹ৴ • ॏཁͳϨΨγʔγεςϜ ͚ͩͲɾɾɾ2016೥͝Ζ·Ͱ͸ σϓϩΠ͕ਏ͔ͬͨʂʂ  
  3.  σϓϩΠͰ๩ͯ͘͠։ൃͰ͖ͳ͍ ੒ޭͨ͠৔߹Ͱ΋ • σϓϩΠத͸഑৴Ͱ͖ͳ͍ͷͰɺεέδϡʔϧௐ੔͕ඞཁ • σϓϩΠ࡞ۀʹ30෼ • σϓϩΠޙͷ֬ೝ࡞ۀʹ15෼ ো֐͕͓͖Δͱ

    • ௐࠪͱ෮چ࡞ۀʹ30෼ • ૹΕͳ͔ͬͨѼઌʹ࠶ૹ৴͢Δͷʹ̎ɾ̏࣌ؒ • σϓϩΠ͠௚ͨ͢Ίʹɺ΋͏Ұ౓εέδϡʔϧௐ੔  
  4.  σϓϩΠखॱॻΛ࡞ͬͨ サーバーにSSHする cd /app/mail_concierge/mail_concierge/ git pull origin master サーバーを再起動

    テスト配信する ͦΕ·Ͱͷखॱॻ ۩ମతʹ͸ԿΛ͢Ε͹͍͍ͷʁ ৽ਓʹ͸෼͔Βͳ͍  
  5.  ςετ഑৴͢Δ NBJMDPOUFOUTYMTΛμ΢ϯϩʔυ͢Δ ʮࣄલੜ੒ίϯςϯπʯը໘͔ΒNBJMDPOUFOUTYMTΛΞοϓϩʔυ͢Δ ͜ͷ࣌ʮ೔෇ʯ͸ࠓ೔Λࢦఆ͢Δ ʮ഑৴ొ࿥ʯը໘͔ΒҎԼͷ಺༰Λೖྗ͠ɺʮ഑৴ొ࿥ʯ͢Δ αʔϏεʮ഑৴ςετʯ ϝϧϚΨʮ഑৴ςετʗ)5.-ʯ ϝʔϧςϯϓϨʔτʮσϓϩΠ࣌ࢼݧ഑৴ʯʮσϓϩΠ࣌ࢼݧ഑৴ʯ ഑৴Ϧετʮ഑৴ϦετͷछྨΛબ୒഑৴ςετ༻Ϧετʯ

    ഑৴໊ʮσϓϩΠ࣌ࢼݧ഑৴::::..%%ʯ ϓϨ഑৴཰ʮʯ উऀܾఆϩδοΫʮ։෧෼ͷΫϦοΫ཰ʯ ϓϨ഑৴։࢝೔࣌ݱࡏ࣌ࠁ͔Β෼ޙ ຊ഑৴։࢝೔࣌ݱࡏ࣌ࠁ͔Β෼ޙ ഑৴ର৅ϥϯΫʮ഑৴ର৅ϥϯΫΛࢦఆ͢Δ/0ʯ ৽͍͠खॱॻ ίϐϖ͢Δ͚ͩͰΑ͍ͷͰɺ୭Ͱ΋҆શʹ࡞ۀͰ͖Δɻ  
  6.  վྑ & վྑ • εϐʔυΞοϓ • Git ͷϛϥʔϦϯάϨϙδτϦ •

    Ruby ͷϥΠϒϥϦΛΩϟογϡ • ͨ·ʹߦ͏ख࡞ۀʹ΋πʔϧΛಋೖ • crontab ͷॻ͖׵͑ɿ whenever • DBͷϚελʔσʔλߋ৽ɿ seed_fu