Skip to content

Releases: scbudgetweb/wp-deployer

WP Deployer 0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 19:12

The Push screen: what differs between this site and Staging

New

  • Set up new site. Turn a fresh WordPress install into a full copy of this site in about a minute:

    • the theme and plugins are installed;
    • every database table except users is copied, including WooCommerce products, orders, coupons, shipping and tax, and any other plugin's data;
    • the whole uploads folder is copied.

    Everything is then linked, so later pushes only send changes. Users are not copied: content is credited to the new site's admin.

    The Set up new site panel
    Setup finished, with a log of what it did

  • Replace engine. Addresses are rewritten in every stored form:

    • http, https and protocol-relative, with or without www;
    • JSON-escaped and URL-encoded;
    • inside serialized data (without unserializing it) and inside base64.

    Server paths and, optionally, email addresses are rewritten too. Matching stops at a boundary, so site.test never matches site.testing.com, but it still matches at the end of a sentence. Normal pushes use the same engine.

  • Pre-flight checks run before setup: PHP and WordPress versions against plugin requirements, disk space, memory, time limit, writable folders and database version.

  • Caches are cleared after every push and rollback: the object cache, plus about 20 caching plugins and hosts.

  • Plugins that break after a move are switched off after setup and listed for reactivation. These include WP Rocket, Jetpack, reCAPTCHA plugins, and SSL-forcing plugins on sites that aren't on HTTPS yet.

  • Language packs, including plugin and theme translations, are installed on new sites.

  • No long requests. Setup and file uploads run in time-boxed rounds, and large files upload in chunks.

  • README screenshots of every screen.

Fixed

  • Forminator forms keep their own ID on the target.
  • WooCommerce orders and refunds are no longer offered as pushable content.
  • The Push screen names targets by their name in Settings, not by their (possibly copied) site title.

Tested

  • Cloned a WooCommerce shop onto a blank site with a different table prefix, by clicking through the setup panel in Chrome. Products, variations, attributes, orders with totals, VAT and notes, the coupon, shipping, tax and currency all matched the source. Add-to-cart worked, and the old address appeared nowhere in the new site's database.
  • Cloned a LiveCanvas, Forminator and Picostrap brochure site. Every page was identical to the source.

Updating

Sites on 0.2.x get this in Dashboard › Updates. Existing targets may show Forminator forms as Changed here once; push them to clear it.

WP Deployer 0.2.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:28

Updates work without a token; the token is now optional (private repo or
GitHub rate limits). Never push default_role, users_can_register or the
upload path options. Add the GPL licence and an Update URI header so
WordPress.org never offers a same-slug plugin as an update.

WP Deployer 0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:22

Sites get WP Deployer updates from this repo's latest release in Dashboard >
Updates, using a read-only GitHub token (WPD_GITHUB_TOKEN or Settings).
Pushing a v* tag now builds the zip and publishes the release.

WP Deployer 0.1.1

Choose a tag to compare

@scbudgetweb scbudgetweb released this 19 Oct 17:16

Bug fix.

Fixed

  • Images referenced by a root-relative path (/wp-content/uploads/…) rather than a full URL were not detected, so they weren't sent with the page and showed as broken on the target. Root-relative paths are now collected too, including JSON-escaped paths, CSS url() and resized versions.

Updating

Download wp-deployer-0.1.1.zip below. In wp-admin go to Plugins › Add New › Upload Plugin and choose Replace current with uploaded. Settings, targets and push history are kept.

The fix is on the sending side. After updating your local site, push the affected pages again: their missing images are sent automatically.

WP Deployer 0.1.0

Choose a tag to compare

@scbudgetweb scbudgetweb released this 19 Oct 17:03

First release.

Install: download wp-deployer-0.1.0.zip below and upload it under Plugins › Add New › Upload on both the sending and the receiving site. Then follow the Setup steps in the README.

What's in it

  • Pushes pages, LiveCanvas partials, dynamic templates and sections, Forminator forms, menus, Additional CSS, theme settings, the compiled Picostrap CSS bundle, the homepage and posts page settings, and plugin options you choose, item by item.
  • Detects the plugins and theme on the site; you choose which content types can be pushed.
  • Images and anything the selected items depend on go with them. IDs and URLs are remapped on arrival.
  • Each item shows its status: New, Changed here, In sync, Edited on target or Changed on both. Items edited on the target are skipped unless you tick overwrite.
  • SEO plugin fields and form submission counters are never overwritten. Form entries, users and comments are never sent.
  • Preview before pushing. Every push can be rolled back from History on the receiving site, and a push that fails is rolled back automatically.

Known limits

  • Never deletes anything on the target, and can't pull from the target.
  • Doesn't deploy theme or plugin code.
  • Rollback doesn't restore upload files a push overwrote.