Please wait...

Blog

WordPress Version Control Techniques


January 27, 2015 Posted by Ashley Hart

Here at Green Chilli we have been constantly crafting our Version control setup into a well oiled machine that we proudly feel rivals the best WordPress development environments available. In an age where working on a live site’s files directly through FTP (File Transfer Protocol) is labelled ancient and irresponsible by the web community, refreshing new ideas and formulas for version control are completely changing the way we manage/maintain our WordPress frameworks.

Green Chilli currently implements four different file management/deployment applications including:

Backing up

Managing a large amount of WordPress sites each with there own unique plugins and database migration methods can be a full time job in itself sometimes as new updates or incompatibilities emerge constantly. Using the web application Manage WP has allowed us to control all of our WordPress sites remotely from one location with an interface that we can use to update our websites as well as install a palette of plugins to multiple frameworks without having to enter a slew of passwords and navigate endless admin dashboards. Keeping a full back-up of your site and database can be your last line of defence in the case of a fatal error or hacking situation. With Manage WP, creating a backup is an automatic feature that can be used to send a fully compressed site that contains everything to need to redeploy any damaged files.

Local hosting

Desktop Server created by Server Press is an integral part of our local hosting environment. As well as fluidly working alongside our GIT Client Tower it contains the option to import zip archives of our backed-up WordPress frameworks. This application now works along side Manage WP whenever the situation arises including staging server creation as well as full re-developments from existing sites that have not been initially managed by us. Desktop Server also has a clever ‘share website’ feature that enables you to publish your website securely on your personal network. Using this feature to gain approval/amends from a co-worker instantly can be invaluable before you push changes up to the Remote GIT repository on Beanstalk.

GIT Clients

Although it is well known GIT (distributed revision control ) is well known as an extremely powerful file management institution within the web community the command line interface leaves a lot to be desired both aesthetically and ergonomically.

To ensure a fluid production line approach with multiple developers it is important to have a GIT environment that gives us a clear visual layout of the file structures for each branch we create whether is be for simple textual amends or a full redevelopment. The Mac Application Tower has been a welcome addition to our version control environment allowing us to quickly manage large amounts of files from our desktop while enabling visual interpretations of file merging that can be extremely frustrating to comprehend with the text based command line. Besides seeing who is behind each commit Tower gives you a interactive approach to choosing which users file should overwrite the other and even can delve deeper allowing individual line of code to be approved for the merge.

To us Tower without a doubt represents the pinnacle of new wave applications being developed to tackle the sometimes arduous task of navigating and dealing with GIT. By simplifying how commits/merges are made in a visually positive way Tower enables you to spend more of your time concentrating on the actual framework rather than the revision process.

Deployment services

The final Step in our version control process harnesses the powerful deployment capabilities of the Beanstalk web app. Beanstalk works simultaneously as a last line of defence when urgent situations arise and a comprehensive control centre where all file changes are pushed from.

Each website has its own dashboard where one can easily create multiple deployment environments for staging and live installations. Again the visual realisation of the deployment process and environments attracted us to this interface which displays commits in a similar fashion to Tower.

The kicker for Beanstalk has to be the easy Rollback feature for each environment that can can be used to instantly wind back the commits on your website restoring a previous version temporarily. This is a very important aspect of our initial process when addressing hacking/corruption incidents effectively patching the bug while you fix the problem locally.

Database migration

Alongside our version control setup we have had to address how to quickly and smoothly sync the MySQL Databases between our local and live hosting platforms. The WP Migrate DB Pro Wordpress plugin fits perfectly within this role delivering large scale database migrations flawlessly including premium support services and optional add-ons like media library upload migrations. WP Migrate DB Pro essentially turns the whole migration process into a single click affair as you are able to create presets for each of your hosting environments i.e. local, staging and production. Within these presets you can define the base urls you want to replace during the migration as well as choose which specific tables you want to push or pull down between sites. Once the preset if configured simply selecting it from the WordPress back-end initiates a informative progress bar representing the scale of the database. Once migration is completed you can finalise your beanstalk deployment ensuring both your local and live sites are successfully synced.

  • Join the newsletter and learn more ways to improve your site

  • This field is for validation purposes and should be left unchanged.

Our blog

See our news and articles

Contact us

Start Connecting with us

  • Level 9, 43 High Street, Auckland
    Auckland 1010, New Zealand

  • +64 9 887 3205

Contact Form

  • This field is for validation purposes and should be left unchanged.