Skip to content

Php Script for Auto-Pull in server (Using WebHook from GitLab, GitHub and Bitbucket)

Notifications You must be signed in to change notification settings

hank418/git-deploy

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

git-deploy

A PHP script to automatically pull from a repository to a web server (using a webhook on GitHub, GitLab, or Bitbucket).

You can configure which branch this script pulls from. This script is useful for both development and production servers.


On your server

SSH

Generate an SSH key and add it to your account so that git pull can be run without a password.

Configuration

Copy the git-deploy folder and its contents in to your public folder (typically public_html). Note that you can change the name of the folder if desired.

Rename git-deploy/config.sample.php to git-deploy/config.php, and update each variable to a value that suits your needs. An example of a live configuration is below.

define("TOKEN", "secret-token");
define("REMOTE_REPOSITORY", "git@github.com:username/custom-project.git");
define("DIR", "/var/www/vhosts/repositories/custom-project");
define("BRANCH", "refs/heads/master");
define("LOGFILE", "deploy.log");
define("GIT", "/usr/bin/git");
define("AFTER_PULL", "/usr/bin/node ./node_modules/gulp/bin/gulp.js default");

On GitHub | GitLab | Bitbucket

GitHub

In your repository, navigate to Settings β†’ Webhooks β†’ Add webhook, and use the following settings:

  • Payload URL: https://www.yoursite.com/git-deploy/deploy.php
  • Content type: application/json
  • Secret: The value of TOKEN in config.php
  • Which events would you like to trigger this webhook?: πŸ”˜ Just the push event
  • Active: β˜‘οΈ

Click "Add webhook" to save your settings, and the script should start working.

Example screenshot showing GitHub webhook settings

GitLab

In your repository, navigate to Settings β†’ Integrations, and use the following settings:

Click "Add webhook" to save your settings, and the script should start working.

Example screenshot showing GitLab webhook settings

Bitbucket

In your repository, navigate to Settings β†’ Webhooks β†’ Add webhook, and use the following settings:

Click "Save" to save your settings, and the script should start working.

Example screenshot showing Bitbucket webhook settings


I appreciate the collaboration of @JacobDB

About

Php Script for Auto-Pull in server (Using WebHook from GitLab, GitHub and Bitbucket)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%