Debian

MediaWiki 自動升級

  • January 17, 2019

我在個人項目中使用最新的 MediaWiki(在 Arch Linux 或 Debian stable 上)——我是唯一一個使用它的人,並且我以僅核心的方式使用 MediaWiki(我不安裝任何擴展)。

  • 我希望始終升級核心版本以享受所有最新功能。
  • 我有每日/每周備份。
  • 我試圖在這裡閱讀,但我不認識任何關於自動升級的內容。

MediaWiki自動升級的正確方法是什麼?

順便說一句,這就是我在給定的基於 Debian 的環境中升級所有 Drupal 應用程序的方式;Arch Linux 中的 MediaWiki 也許可以採用類似的方法:

#!/bin/bash

cat <<-EOF > /etc/cron.daily/cron_daily
   #!/bin/bash
   for dir in ${drt}/*/; do
       if pushd "$dir"; then
           rws
               composer update drupal/* webflo/drupal-core-require-dev --with-dependencies
               drush updatedb
               drush cache:rebuild
           rws
       popd
       fi
   done 2> $HOME/myErrors
EOF

cat <<-EOF > /etc/cron.weekly/cron_weekly
   #!/bin/bash
   find "$drt" -path "*/cache/*" -type f -delete
   certbot renew -q
EOF

chmod +x /etc/cron{.daily,.weekly}

標準升級流程為:

  1. 更新文件。如果您使用 git,這將類似於git checkout REL1_32. 如果您使用的是 tarball,則可以將其解壓縮到舊版本上(儘管對於實時伺服器,更好的方法是為舊版本和新版本創建一個單獨的目錄,並使用符號連結將它們交換出來,這樣既快速又簡單如果出現問題則撤消)。
  2. 更新依賴項。如果您使用 git,請composer update在 MediaWiki 根目錄中執行。如果您使用供應商 repo(可能是個壞主意),請同時對其進行 git checkout。如果您使用 tarball,它可能包含更新的依賴項(儘管執行 composer 並沒有害處)。
  3. 執行升級腳本:php maintenance/update.php --quick.

如果它是其他人使用的實時 wiki,您可能希望設置$wgReadOnly該過程(或者甚至更好地將使用者完全鎖定)。

有一個文件頁面,但就像 mediawiki.org 上的大多數東西一樣,它有點過於冗長……

引用自:https://unix.stackexchange.com/questions/493382