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

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

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

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

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 Ұ؏ੑ͕͋Γɺ੾Γ໭͠΋༰қ͕ͩ Ϧιʔε͕ഒඞཁʹͳΔ Өڹൣғ͕ݶఆ͞ΕΔ͕ɺ ΞϓϦέʔγϣϯͷ Ұ؏ੑ͸ଛͳΘΕΔ ΧφϦΞϦϦʔεͱ Ұॹʹར༻͞ΕΔ͜ͱ͕ଟ͍