Develop and Deploy Outside the Repo

Post on 09-Feb-2017

141 views 0 download

Transcript of Develop and Deploy Outside the Repo

Develop & Deploy Outside the Repo Directory

What's the Goal?

Develop in local development environment

Push code to git server

Update your code seamlessly in WordPress

Everyone Should Use Version Control

GitHub

Bitbucket

GitLab

Other git server

Semantic Versioning

Everyone should tag your releases using semantic versioning

https://semver.org

MAJOR.MINOR.PATCH

MAJOR - incompatible API changes, something that definitely breaks backwards compatibility

MINOR - add functionality, maintaining backwards compatibility

PATCH - bug fixes, maintaining backwards compatibility

MAJOR.MINOR.PATCH.DEV

DEV - increase version number during in the develop branch

Develop in your local environment

Push commits

Tag releases

Now What?

How to Deploy Your Code

FTP/SFTP

Add updater library to every project

Use an updater plugin

Continuous Integration

FTP/SFTP

Upload changed files or complete project everywhere

Doesn't scale well

Dependent upon remembering where all your deployments are located

Updater Library

WordPress-GitHub-Plugin-Updater

https://github.com/radishconcepts/WordPress-GitHub-Plugin-Updater

Requires additional code in every project

Difficult to update the updater code

Updater Plugin

Updater code outside of your projects

Easy to maintain updater plugin

Examples

GitHub Updater

WP Pusher

Demo

Continuous Integration

Use of RESTful endpoint to automatically update your code on every push/commit

Webhooks

Demo

Questions?

WhoAmI?

Acute Care Surgeon in Palm Springs, CA

Twitter: @andyfragen

GitHub: https://github.com/afragen

Occasional blogger: https://thefragens.com

WordCamp Sponsor/Speaker

Developer of GitHub Updater

What's Next!

GitHub Languages: https://github.com/afragen/github-updater-translations

Decoupled language pack updates for your plugins/themes.