Plugin update (WordPress)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Wat is de beste manier om plugins bij te werken in situaties dat dit niet via WP-CLI of via de GUI gaat? En wat is een handige geautomatiseerde manier om betaalde plugins bij te werken?

Propriëtaire plugins automatisch bijwerken

Dit is een infrastructuur die ik gebruik voor bijwerken van propriëtaire plugins, of plugins die ik anderszins niet kan updaten via WP-CLI of via de GUI van een site:

  • Op media.example.com zijn de plugins beschikbaar als .tar.gz-files. Bv. my_plugin.tar.gz - Er worden geen verschillende versies bijgehouden
  • Met een script wordt zo'n bestand gedownload, uitgepakt, en in de juiste map gezet.

Eigenlijke bijwerken

Hoe doe je het 'eigenlijke' bijwerken, dus in de installatie? Gewoon de map overschrijven? Map eerst leegmaken en dan de nieuwe inhoud uploaden? Iets anders?

Vermoedelijk de beste aanpak ([1], [2]):

  1. Hernoem de bestaande plugin-map. Wat ik meestal gebruik: pluginnaam-bk-jjjj.mm.dd
  2. Maak nieuwe map aan
  3. Upload naar nieuwe map

Concurrrent versions?

  • De map pluginnaam-bk-jjjj.mm.dd wordt soms genegeerd. In de WP-interface zie je alleen de bijgewerkte plugin staan, niet per ongeluk twee keer deze plugin
  • Op het moment dat een plugin niet actief is, worden wel concurrent versies getoond - Geen probleem
  • Soms worden beide versies getoond, maar is alleen de nieuwe versie actief - Prima.

Eens in de zoveel tijd zou ik de backups handmatig kunnen verwijderen, want die stapelen zich op. Vooral omdat er altijd een backup wordt gemaakt als je deze routine aanroept, ook als er niets bij te werken is.

Er wordt niet gecontroleerd of er een update nodig is

Dit dus: een reeks aan backups van deze module. Gelukkig worden ze niet geactiveerd en er is dus geen 'operationeel' probleem

Deze routine controleert niet eerst of bijwerken nodig is. Daarnaast worden backups van plugins als volwaarde plugins aangemerkt door WordPress.

Problemen

  • Als deze plugin niet is geïnstalleerd, wordt-ie nu alsnog geïnstalleerd (maar gelukkig niet geactiveerd) - Zaak om goed op te letten bij het configureren van update-scripts
  • Er wordt altijd een backup+update verzorgd, ook als dat niet nodig is - Onnodig risico op complicaties
  • Alle backups verschijnen in de lijst van Plugins, al worden ze gelukkig niet geactiveerd - Er is dus geen 'operationeel' probleem/

Oplossingen

  • De backups plaatsen in een map waar ze niet als plugins worden herkend. Bv. onder /var/www-backup/example.com of /var/www/example.com/wp-content/plugin-backups
  • Backups naderhand verwijderen
  • Niets doen - Zo groot is het probleem niet, plus de huidige situatie is eenvoudig en overzichtelijk.

Leuk voor later

  • Check inbouwen of het gegeven pad wel klopt - Daar zitten regelmatig fouten in, die slecht gedetecteerd worden
  • Check inbouwen of een update wel nodig is
  • Zorgen dat backups niet als plugins worden aangemerkt.

Zie ook

Bronnen