Publish plugins
to WordPress.org without SVN

Arūnas Liuiza

WordPress Core Contributor, WordPress Kaunas Meetup co-organizer, WordCamp (Lithuania, Riga, Stockholm) speaker and one of the editors of the Lithuanian WordPress translation team.

 

Free & premium WordPress plugin developer:

WordPress Expert on Codeable;

Founder of Arunas.co / EcoSim / TryoutWP;

Lecturer at Kaunas College.

Git / GitHub

SVN

  • SVN              - 2000 
  • WordPress  - 2003
  • Git                - 2005

GitHub

  • Development
  • Feedback
  • Issue tracking
  • Etc.

WP.org

  • Publishing

SVN

GitHub

  • Development
  • Feedback
  • Issue tracking
  • Etc.

WP.org

  • Publishing

Service

Ship

  • Automated setup;
  • Requires API access to all  GitHub repositories;
  • Requires
    WordPress.org credentials;
  • Stores them in plaintext;
  • No longer supported;
  • ship.getherbert.com

Deployer

  • Needs manual setup;
  • Uses a dedicated WP.org account or commits;
  • Does not require any of your GitHub or WP.org credentials.
  • Built by me and sponsored by Seravo
  • deployer.seravo.com

Deployer Setup

  1. Registration
  2. GitHub WebHook
  3. WordPress.org commiter

Registration

  1. Register at Deployer site:
    1. your email address;
    2. WP.org plugin slug / address;
  2. System sends you an email with further instructions;

GitHub

Add a new webhook in the repository 

  1. Settings > Webhooks and Services > Add Webhook.
  2. Enter  Payload URL ir Secret parameters provided by Deployer.
  3. Click Add Webhook.

WordPress.org

  1. Login to WP.org;
  2. Go to your plugin page;
  3. Click on the Advanced view button.

  4. Under Commiters section add user deployer as a new committer.

Usage

Continue your usual work on GitHub. Deployer will now automatically do the following things on WordPress.org:

  1. Publish a new version;
     
  2. Update readme.txt;
     
  3. Update plugin  assets (icon, banner); 

Publishing a version

Just update your readme.txt and tag a new version via git. Deployer will do the rest.

git add readme.txt
git add plugin-file.php
git commit -m "version 1.0.1"
git tag 1.0.1
git push origin master --tags

Updating readme.txt

Any changes to readme.txt in master branch will be automatically transferred to WP.org

git add readme.txt
git commit -m "updating readme.txt"
git push origin master

Updating plugin assets

If you have an assets branch in your GitHub repo, any updates to it will be synced to assets directory on WP.org

git checkout assets
git add -A
git commit -m "new banner and icon"
git push origin assets

Questions?