#author("2021-06-06T15:29:22+09:00","default:tanak0to","tanak0to")
#author("2021-07-22T21:54:24+09:00","default:tanak0to","tanak0to")
RIGHT:[[フリーソフトウェアのコンパイル]]

@ Composer 化した Drupal のアップデート作業
参考

https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer

* ユーザグループ確認 [#p55cb750]
操作するユーザを www-data グループに入れておく


* swap の確認 [#l1b31b46]
composer(ver.1) はメモリーが 2G 以上ないと,OS ごとフリーズしたようになる.
なので,スワップファイルを作って対応する.
 $ sudo /bin/dd if=/dev/zero of=/var/swap bs=2M count=1024
 $ sudo chmod 600 /var/swap
 $ sudo /sbin/mkswap /var/swap
 $ sudo /sbin/swapon /var/swap
 $ export COMPOSER_MEMORY_LIMIT=-1
 
 $ alias comp="COMPOSER_MEMORY_LIMIT=-1 composer"


* drupal/core-recommended か drupal/core [#ybce0ffa]
drupal/core-recommended か drupal/core のどちらのプロジェクトを使っているか確認する.
 $ cd /home/drupal
 $ composer show drupal/core-recommended
リストがたくさん表示されるので drupal/core-recommended を使っていることがわかる.


* アップデート可能なパッケージを確認する. [#ze8c8dfb]
  $ cd /home/drupal
  $ composer outdated "drupal/*"
  drupal/coder                  8.3.9             8.3.13             
  drupal/core                   8.9.x-dev a83c804 8.9.x-dev 76da907  
  drupal/core-dev               8.9.x-dev 36370b3 9.3.x-dev dceb37d  
  drupal/core-recommended       8.9.x-dev b4aad1e dev-default 91e393a

* バックアップ [#m43871f4]
** メンテナンスモードへ [#u46f04ae]
  $ cd /home/drupal
  $ ./vendor/bin/drush state:set system.maintenance_mode 1

** キャッシュの削除 [#be47dfa7]
  $ ./vendor/bin/drush cache:rebuild

** データベースバックアップ [#m2839bb1]
  $ ./vendor/bin/drush sql:dump > /Backup/drupal/drupal8.sqldump.$(date +%F)
でできるはずで,実際にできてそうだが,
エラーメッセージとして

  > mysqldump: Error: 'Access denied; you need (at least one of)
   the PROCESS privilege(s) for this operation' when trying to
   dump tablespaces
と言われる.

なので,確実に以下のコマンドでバックアップしておく
  $ sudo -s
  # mysqldump -u root -p -h localhost --add-drop-table --triggers ¥
  --routines --events drupal8 > /Backup/drupal/drupal8.sqldump.$(date +%F)

** フラットファイルバックアップ [#ge0229fb]
  # cd /home
  # tar cpzf /Backup/drupal/drupal-file-$(date +%F).tgz drupal

* drupal アップデート [#ke8a71ef]
  $ /home/drupal
  $ composer update drupal/core "drupal/core-*" --with-all-dependencies
  Updating dependencies (including require-dev)
// >  リターンを押す  結構時間がかかる
  - Updating drupal/core (8.9.x-dev a83c804 => 8.9.16):     The package has modified files:
  - Updating drupal/core (8.9.x-dev a83c804 => 8.9.16): 
    The package has modified files:
    M scripts/cron-curl.sh
    M scripts/cron-lynx.sh
    Discard changes [y,n,v,d,s,?]?
    y - discard changes and apply the update
    n - abort the update and let you manually clean things up
    v - view modified files
    d - view local modifications (diff)
    s - stash changes and try to reapply them after the update
    ? - print help
    Discard changes [y,n,v,d,s,?]? n or s ?  <---
ここはどうすればいいのかなぁ
    Discard changes [y,n,v,d,s,?]? y  <---
ここはどうすればいいのかなぁ(-> y 以外うまくいかない)

以下のファイルが変更されてしまう
- drupal/web/core/scripts/cron-curl.sh
- drupal/web/core/scripts/cron-lynx.sh
- drupal/web/.htaccess

* DB アップデート [#c274b242]
  $ ./vendor/bin/drush updatedb

* キャッシュの削除 [#wdfa7860]
  $ ./vendor/bin/drush cache:rebuild

//* 設定ファイルのエクスポート
//変更点の確認
//  $ ./vendor/bin/drush config:export  --diff

* メンテナンスモード解除 [#rb8be33c]
  $ cd /home/drupal
  $ ./vendor/bin/drush state:set system.maintenance_mode 0
  $ ./vendor/bin/drush cache:rebuild



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS