Via Composer
$ composer require webklex/laravel-git-hook
Add the service provider to the providers array in config/app.php
.
'providers' => [
Webklex\GitHook\Providers\LaravelServiceProvider::class,
];
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 | [] |
['192.168.1.1', '192.168.1.2', ...] |
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
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
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
- Webklex
- All Contributors
The MIT License (MIT). Please see License File for more information.