/wpm

A comprehensive wordpress deployment and migration tool written in go

Primary LanguageGo

WPM, a comprehensive tool for advanced wordpress management

wpm is a tool built to make wordpress versionning, deployment and migration between any environment easier.

🚧 Caution : poject is under development, and definitely not production ready. Feel free to contribute !

How does it works ?

The global idea is to isolate wordpress core from your project. In this configuration, it's far easier to keep your wordpress installation updated and secure, while being consistent in your project. No fancy files everywhere, no overwrite, no confusion, your project is 100% independent from worpress core version.

wordpress/
├── core
└── data

As wordpress core is released publicly on github, core folder can be fully managed using wpm. The tool is built to make sure your installation is up-to-date and that it has no integrity issue.

If you already have a wordpress project you would like to integrate wpm in, feel free to read the step by step guide to accomplish such cool things.

What's gonna be in ?

  • Website source and database versionning (migration, backups, rollback)
  • Multiple environment (test / prod / staging...)
  • Works over SSH
  • WP core management

Requirements

  • SSH access to any environment
  • git repository as a VCS

Config file syntax

wpm config file uses TOML syntax

VCS = "github.com/user/repo.git"

[Environment]

    [Environment.dev]
    WpPath = "/var/www/html/wordpress"
    Username = "web-manager"
    Host = "192.168.0.1:22"
    AuthMethod = "password"

    [Environment.prod]
    WpPath = "/var/www/html/wordpress"
    Username = "web-manager"
    Host = "192.168.0.1:22"
    AuthMethod = "publickey"
    KeyPath = "/home/mike/.ssh/key.pem"

Contribute

To contribute, take a closer look at the CONTRIBUTING.md file.

Dependencies