Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Why Drupal - Configuration Management

27 views

Published on

私がDrupalを採用する理由
Web版(最新):https://snize.github.io/why_drupal_Configration_Management/

2018/05/18 Drupal Meetup 羽田 #9でのスライド
https://drupal-meetup-haneda.connpass.com/event/85972/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Why Drupal - Configuration Management

  1. 1. Wh DrupalCon guration Management 金子 智嗣    kaneko@zeroae.jp  @nize
  2. 2. Intro W系のエンジニアで、プロトタイピングから本番までの  フロントエンドからバックエンドまで 案件によってはDrupalを採用 Drupal 8を採用するビジネス的なメリット エンジニア向けのデモも最後に共有します
  3. 3. CM変遷(なんとなく年代順) Movale tpe, Wordpre, Nucleu, Geeklog, MODx, eZ Pulih, concrete5, Drupal 7, Drupal 8 最近CMはもっぱら Drupal 8
  4. 4. 今日の本題 Con guration Management at Drupal
  5. 5. Drupalでの構成管理?
  6. 6. ソフトウェア構成管理 ソフトウェア構成管理(ソフトウェアこうせいかんり、英: oftware con guration management、CM)とはソフトウェ ア開発プロジェクトをその成果物を通して制御・管理する方法 論である。ソースコードや文書などの成果物の変更履歴を管理 し、製品のバージョンやリビジョンに個々の成果物のどのバー ジョンが対応しているかを識別し、任意のバージョンの製品を 再現可能とする。
  7. 7. CM周りでは聞かない... なぜでしょう? ソースコードなどの成果物の変更履歴を管理し、任意のバージ ョンの製品を再現可能とする。
  8. 8. 一般的にCMの設定はDへ格納されているから  バージョン管理しづらいからでは?
  9. 9. Drupal 8からは設定の  インポート/エクスポートが標準でサポート
  10. 10. つまり、他のソースコードと共に管理がしやすくなった ソースコードなどの成果物の変更履歴を管理し、任意のバージ ョンの製品を再現可能とする。
  11. 11. そもそもCon guration Managementすると  何が嬉しいのか Con guration Managementしない場合に比べて...
  12. 12. ビジネス側の変更や要求に対して柔軟に対応できる gitのブランチごとに平行開発してマージも簡単 特定の時点に戻せるからプロトタイピングしやすい 人間でも読めるから何が変更されたか理解しやすい
  13. 13. ビルド・デプロイが容易 CIサーバやgit hookを利用して半自動化/完全自動化 リリースに問題があった場合ロールバックしやすい
  14. 14. ビジネス的なメリット
  15. 15. 開発側が本質的な作業に集中できるので  ビジネス的にはプロダクトの価値を  ユーザに早く届けられる
  16. 16. フルスクラッチでの開発に比べて  CMを利用する理由と一致しませんか?
  17. 17. Drupal 8でのCon guration Management
  18. 18. Drupal 8では何を管理するのか モジュールの有効・無効 コンテンツタイプ ブロックのレイアウト 管理画面の/admin/config以下の設定とかいろいろ コンテンツは管理しない
  19. 19. どうやって管理するのか データベースに格納された設定をYAMLという形式の  ファイルに書き出してgitなどでバージョン管理する
  20. 20. サムネイル生成の設定サンプル 普通に読める langcode: ja status: true dependencies: { } name: 1200x640 label: 1200x640 effects: id: image_scale weight: 1 data: width: 1200 height: 640 upscale: false
  21. 21. どんな時に始めるか もちろんどんなプロジェクトでも今すぐ始められる(本番運用 しています) 納品したら終わりでは無く自社案件やクライアントワークでも 継続的にプロジェクトに関わる時(メリット大)
  22. 22. 実例(本番運用している話) メディアサイト 1日数本の記事が更新される チーム構成:オーナー / 開発・デザイン / 編集部 週1回の定例会で開発やコンテンツの方針決め ローンチ後1年で本番環境へのデプロイ回数:約60回 1デプロイ/週
  23. 23. 定例会でよくある会話 オーナーOR編集部:新しい機能を追加してほしい  開発:わかりました、このモジュールで対応しましょう
  24. 24. DrupalでCon guration Managementしてたら 1. 開発環境でインストールと設定、設定の書き出し 2. 本番環境からステージング環境へ  コンテンツ(D)のコピー 3. ステージング環境で1.で書き出した設定のインポート 4. テスト/確認 5. 本番環境へデプロイ
  25. 25. Con guration Managementしてない  または他のCMだったら 1. 開発環境でインストールと設定 2. コンテンツの更新を停止 3. 本番環境からステージング環境へDのコピー 4. ステージング環境で開発環境と同じ設定を手作業で設定 (開発環境のデバッグ設定などをコピーしないため) 5. 問題なければ、Dを本番環境へコピー 6. コンテンツの更新を再開
  26. 26. なにが問題か 手間が多く、手作業によるミスの発生の可能性が大きい 不安を抱えながらのデプロイ? デプロイ作業のため更新を止める必要がある いつデプロイする?夜中? これらの作業中に割り込みのタスクが発生したら、対応可能?
  27. 27. ということで、本日のWh Drupalは Con guration Management!
  28. 28. 以上です、ありがとうございました  (。・ω・。)ノ
  29. 29. 本日のスライド 過去のスライドとデモ : Core CMで足りないところの話とデ モ : phでdrupalと対話的にデバッグ Wh Drupal - Con guration Management Con guration plit Demo Talking with Drupal
  30. 30. コンタクト @tomotugu_kaneko -  kaneko@zeroae.jp @nize drupal-japan.lack.com

×