Skip to content

GitHub Sync is a WordPress plugin which synchronizes a local git branch with a GitHub repository.

License

Notifications You must be signed in to change notification settings

lesintegristes/wp-github-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

GitHub Sync

A WordPress plugin to synchronize a directory with a repository hosted on GitHub.

Requirements

  • PHP exec() function
  • Git
  • Shell access to server

Installation

1: Setup the git repository on your server.

You can use this plugin to keep a directory synchronized. This directory can be a theme, a plugin, the whole wp-content, or a directory outside of your WordPress installation.

Your PHP user (Apache with mod_php_, php-fpm, etc.) should have the permission to write in the directory. Use the “Git Read-Only” URL if you want to clone with a system user and pull with your PHP user easily.

If the repository is private, or if you need to commit / push from this directory, you will need to generate an SSH key for your PHP user, and to configure git. Please refer to the git / GitHub documentation.

$ cd /path/to/wp-content/themes
$ git clone http://github.com/my_name/my_theme.git ./my_theme

2: Install the plugin

Follow the classic WordPress procedure to install and activate the plugin.

Define the following settings in your wp-config.php:

<?php

// The repository directory (required)
define('GITHUB_SYNC_DIR', __DIR__. '/wp-content/themes/my_theme');

// The repository GitHub ID (required)
define('GITHUB_SYNC_REPO_ID', 'my_name/my_theme');

// GitHub IP addresses (optional, default below)
define('GITHUB_SYNC_IPS', '207.97.227.253, 50.57.128.197, 108.171.174.178');

// The branch to keep synchronized (optional, default: "master")
define('GITHUB_SYNC_BRANCH', 'master');

// The git remote (optional, default: "origin")
define('GITHUB_SYNC_REMOTE', 'origin');

// Enable logging to debug the plugin (optional, default: NULL)
define('GITHUB_SYNC_LOG', NULL);

3: Add a GitHub WebHook URL

On your GitHub repository, add a WebHook URL (GitHub instructions) with your WordPress base URL, followed by /github-sync/, e.g.: http://your-wordpress-website.com/github-sync/

License

MIT

About

GitHub Sync is a WordPress plugin which synchronizes a local git branch with a GitHub repository.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages