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

リリースフラグと プログレッシブデリバリーを活用した 安全なWEBアプリケーションデプロイ

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

リリースフラグと プログレッシブデリバリーを活用した 安全なWEBアプリケーションデプロイ

PHPカンファレンス北海道2024前夜祭でお話しました

Avatar for Kazuhiko Yamashita

Kazuhiko Yamashita

January 12, 2024
Tweet

More Decks by Kazuhiko Yamashita

Other Decks in Technology

Transcript

  1. ࢁԼ࿨඙!QZBNB  QIQ QSP fi MF< ॴଐ(.0ϖύϘٕज़ج൫νʔϜ  ໾৬γχΞɾϓϦϯγύϧ 

    झຯ<ώϧτϯ८Γ Ωϟϯϓ ཱྀߦ>  ΢ΣϒαΠτ< UFDIIUUQUFOTOBQPODPN  MJGFIUUQQZBNBGVO  TUOTIUUQTUOTKQ  >  >
  2. ϦϦʔεϑϥάͷجຊ ϦϦʔεϑϥά ɹ֎෦ͷαʔόͱ࿈ܞͯ͠ɺιʔεΛมߋ͢Δ ɹ͜ͱͳ͘ɺΞϓϦέʔγϣϯͷڍಈΛ ɹมߋͰ͖Δ <?php /** * ఻આͷϢχίʔϯػೳϦϦʔε؅ཧ *

    NOTE: Ϣχίʔϯػೳ͸·ͩ఻આϨϕϧɻੈք͕४ උͰ͖͍ͯͳ͍Մೳੑ͋Γɻ */ if ($isUnicornReleased) { echo "🦄΢ϗοʂϢχίʔϯΛղ์͠Ζʂ🌈"; } else { echo "🙈·ͩͩɺϢχίʔϯ͸಺ॹͩΑʙ"; } ?>
  3. release branch ػೳ1-1 ػೳ1-2 ػೳ2-1 Ϛʔδ Ϛʔδ Ϛʔδ main branch

    Ϛʔɾɾɾ σϓϩΠͱϦϦʔεͷ੾Γ཭͠ Α͋͘Δػೳ։ൃ
  4. $ git merge release-branch Auto-merging src/Controller/UserController.php CONFLICT (content): Merge con

    fl ict in src/Controller/UserController.php Auto-merging src/Controller/OrderController.php CONFLICT (content): Merge con fl ict in src/Controller/OrderController.php Auto-merging src/Model/InvoiceModel.php CONFLICT (content): Merge con fl ict in src/Model/InvoiceModel.php Auto-merging src/Model/ProductModel.php CONFLICT (content): Merge con fl ict in src/Model/ProductModel.php Auto-merging templates/layout/header.php CONFLICT (content): Merge con fl ict in templates/layout/header.php ...
  5. ͓ લ ͕ δ χ Ξ ͷ ࣌ ʹ ڭ

    ͑ ͨ ϓ ϧ Ϧ Ϋ Λ খ ͞ ͘ ͢ Ε ͹ ສ ࣄ Φ έ ͱ ͍ ͏ ͷ ͸ ӕ ͡
  6. release branch ػೳ1-1 ػೳ1-2 ػೳ2-1 Ϛʔδ Ϛʔδ Ϛʔδ main branch

    σϓϩΠͱϦϦʔεͷ੾Γ཭͠ ϦϦʔεϑϥάΛར༻͢Δ͜ͱͰ ࡉ͔͘ϝΠϯϒϥϯνʹϚʔδͰ͖Δ
  7. ϦϦʔεํࣜ ୅දతͳϦϦʔεํࣜ ΧφϦΞϦϦʔε App App App App 25%͚ͩϦϦʔε͢Δ ϩʔϦϯάϦϦʔε App

    App App App ஈ֊తʹ৽͘͠ϦϦʔε͢Δ BlueGreenϦϦʔε App App ৽͍͠ϦϦʔεͷάϧʔϓΛ࡞Δ App App Ұ؏ੑ͕͋Γɺ੾Γ໭͠΋༰қ͕ͩ Ϧιʔε͕ഒඞཁʹͳΔ Өڹൣғ͕ݶఆ͞ΕΔ͕ɺ ΞϓϦέʔγϣϯͷ Ұ؏ੑ͸ଛͳΘΕΔ ΧφϦΞϦϦʔεͱ Ұॹʹར༻͞ΕΔ͜ͱ͕ଟ͍