Skip to content

Automatic git deployment for Laravel


MIT, MIT licenses found

Licenses found

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



19 Commits

Repository files navigation

Git hook deployment made for Laravel

Latest Version on Packagist Software License Build Status Total Downloads


Via Composer

$ composer require webklex/laravel-git-hook


Add the service provider to the providers array in config/app.php.

'providers' => [


You can publish everything at once

php artisan vendor:publish --provider="Webklex\GitHook\Providers\LaravelServiceProvider"


This library is designed to handle the automatic deployment by git hooks as simple as possible. There isn't much todo to get started: just add the Provider and edit the config/git-hook.php file to make it fit your needs.

Custom configuration can be made within the config/git-hook.php file:

Parameter Default Options Description
email_recipients [] [['name' => '', 'address' => ''], ...] Get notified by mail. Just add your credentials
email_email_sender ['address' => '', 'name' => ''] ['address' => '', 'name' => ''] Specify a custom email sender address
repo_path null Leave empty to auto detect the vcs root Perhaps your repository is somehow specially structured, if that's the case, specify your repository path
allowed_sources [] ['', '', ...] If you want to secure the deployment process a bit more, whitelist the remote repository IPs
remote origin Your remote branch name
git_path /usr/bin/git Where is the git binary located
logfile git-hook Name of the logfile. It will be stored under storage/logs
service github github, gitbucket, gitlab Define your remote git service. This is required to identify the payload
url git-hook Define the deployment url. Keep in mind, that the given parameter will be added to your app.url
before_pull [] ['down', ['cmd', ['arg1' => 1]]] If you have any commands that have to be called before a pull event, specify them here
after_pull [] ['cmd', ['cmd1', ['arg1' => 1]], 'up'] If you have any commands that have to be called after a pull event, specify them here

If you are concerned someone could guess it, use a more cryptic url such as: JHFUjhd67567JHFGhsd78236784wegfJHFghdgf

Potential problems:

Please make sure your www-data user can actually perform a git pull on the server without having to enter a password: so you might want to take a look at ssh-keys or something similar

Change log

Please see CHANGELOG for more information what has changed recently.


$ composer test


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.