laravel-git-hook
laravel-git-hook copied to clipboard
Automatic git deployment for Laravel
Git hook deployment made for Laravel
Install
Via Composer
$ composer require webklex/laravel-git-hook
Setup
Add the service provider to the providers array in config/app.php.
'providers' => [
Webklex\GitHook\Providers\LaravelServiceProvider::class,
];
Publishing
You can publish everything at once
php artisan vendor:publish --provider="Webklex\GitHook\Providers\LaravelServiceProvider"
Usage
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
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.
Testing
$ composer test
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Webklex
- All Contributors
License
The MIT License (MIT). Please see License File for more information.