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

PHP5.3からPHP7.0へバージョンアップの裏側

83346358e135f79176e4e5d4fbbd850c?s=47 Z.O.E.
February 21, 2018

 PHP5.3からPHP7.0へバージョンアップの裏側

PHPのバージョンアップをサービスの開発と並行して進めるためにどうやったかという話

83346358e135f79176e4e5d4fbbd850c?s=128

Z.O.E.

February 21, 2018
Tweet

Transcript

  1. PHP 5.3 から PHP 7.0 へ バージョンアップの裏側 Ikezoe.makoto

  2. 池添 誠 / Ikezoe Makoto • 2015年、ウィルゲートに新卒入社(3年目) • 開発グループ プロダクトユニット所属

    • サグーワークスの開発からインフラまで担当 2 自己紹介 イメージキャラクター 「さぐる」
  3. 3 株式会社ウィルゲート – 事業

  4. 4 株式会社ウィルゲート – 事業

  5. 5 株式会社ウィルゲート – 事業

  6. 表の話 • バージョンアップした話 – Cake 1.3 → Cake 3.2 –

    PHP 5.3 → PHP 7.0 – ブログ記事 • http://tech.willgate.co.jp/entry/3582/
  7. 裏の話 • どのように進めていったか – チームに対して – 事業部に対して – 他の開発と並行して進めるための方法 •

    バージョンアップして得られたこと
  8. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ

  9. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 社外での開発でまずは PHP

    7.0 を触ってみた – まずは自分が体験してみるところから
  10. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 書き換え箇所の調査 –

    破壊的変更の箇所 – 書き換えのコストがどれくらいあるか • 一括変換できるもの、できないものの洗い出し • 新機能の勉強
  11. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • まず説得、一緒に闘う仲間を増やす –

    戦闘員を増やす • 一人で進めるのは大変!バージョンアップは骨が折れる仕事 • チーム全体で合意が取れてる状態にする – チームで円滑に進めるため • リニューアルに合わせてあげたいとリーダーに相談
  12. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 –

    利便性(新しい技術) • Ex) isset 書かなくていい(`??` null合体演算子めっちゃ楽) – 技術的成長 • 最新バージョンに追従してる、イケてるエンジニア • バージョンアップの経験を得られる
  13. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 工数の確保 –

    安全にバージョンアップするために必要 – 受けた要望の開発は止めないように工夫して進めた – 日頃の関係性も大事
  14. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 –

    事業部(サービス)に対するメリットを知ってもらう • 処理速度の向上、品質の担保(テストコードの導入) • ライブラリ導入の簡易化(composer 非対応だった)=開発速度の向上 – より良い開発環境 • サービスのブランディングにもつながる
  15. どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • バージョンアップ用環境と人員の確保 •

    Docker を用いて並行開発できるようにした • ブランチの管理 – master ブランチから派生したバージョンアップ用の new-master – master から new-master に定期マージして新機能の漏れを防止 • リリース直前の新機能開発は PHP 7.0 で開発
  16. バージョンアップして得られたこと • サービスの成長につながった – 開発速度UP – 新しい技術・知識の獲得 – ライブラリなどの対応状況 •

    達成感 – チームメンバー全員で協力してできた → 信頼関係 • 勉強会、LTなどのチャンス – 社外などでも登壇するチャンスの一つになった
  17. まとめ • まずはやってみる。使ってみる。 • 協力してくれそうな人から説得していく • 上長(決定権がある人)に懇願してみる • PHP5 系から

    PHP7 系へアップデートは意外と楽 • 技術的なもの以外にも得られるものは多い