Ship: A New App for Shipping Plugins from GitHub to WordPress.org

One of the small hurdles to hosting a plugin on WordPress.org is the fact that you have to use SVN to ship your updates. Most developers are far more familiar with Git. It’s not difficult to learn how to use SVN for the sake of WordPress.org plugins, but many find it to be inconvenient.

Ship is a new application designed to eliminate this hassle by helping developers ship plugins directly from GitHub to WordPress.org. All you have to do is tag the release on GitHub and the app will automatically push updates to the plugin’s official SVN repo on WordPress.org.

The application was created by Jason Agnew and his team at Big Bite Creative, authors of the Herbert plugin framework. The team built the app in Laravel in just five days. It’s currently hosted on Digital Ocean, but Agnew plans to move it over to AWS once Ship has gained more users.

“We’ve reached a point where most developers are familiar with GitHub, and as a result, Git,” Agnew said in his announcement. “If you plan to do anything open source you’re likely to find yourself on there – even Apple has made the move. Unfortunately WordPress.org uses SVN, which most developers don’t use daily, or are even familiar with. It’s easy enough to pick up, but why should you learn something new to update your plugin?”

With the help of the Ship app, developers won’t have to touch SVN at all during the process of sending updates to WordPress.org plugin repositories.

“For years most plugin developers have used GitHub and then shipped to WordPress.org SVN using a bash script,” Agnew said. “You’ll find plenty out there, but they require you to keep both a Git and SVN repo on your machine — plus you need to remember to run it every time you tag a new release. We thought there must be a simpler way to do this, so we put our heads together. After a few days we had put together the first version of Ship.”

In order to use the app you must have already submitted your plugin zip file to WordPress.org. You can then sign into the Ship app with GitHub and authorize its access to your repositories.

The app will then fetch your repositories and you’ll have the opportunity to select the ones you want to link up with a WordPress.org SVN address in order to start syncing updates.

Big Bite Creative has built many custom plugins over the years, but Agnew said they never had the time to open source them.

“Now with Herbert out there we want to start releasing more plugins on Github – Ship is part of making that process easier,” he said.

In the future, Agnew and his team would like to eliminate the need to first submit your plugin on WordPress.org and instead have that process initiated by Ship. They used “Sign in with GitHub” to save time when initially building the app but would also like to open it up for other services like BitBucket.

The new Ship app effectively gets around WordPress.org’s SVN requirement for plugin repos, which has long been a minor deterrent and annoyance for developers wanting to host their work in the directory. If Ship is successful in making plugin developer’s lives easier, the result will be more open source extensions available to WordPress users. Agnew and his team welcome feedback on the app and have created an empty repo on GiHub to capture any suggestions or issues.