LaravelPackages.net
Acme Inc.
Toggle sidebar
webklex/laravel-git-hook

Laravel Git Hook

1.159
17
1.0.1.7
About webklex/laravel-git-hook

webklex/laravel-git-hook is a Laravel package for laravel git hook. It currently has 17 GitHub stars and 1.159 downloads on Packagist (latest version 1.0.1.7). Install it with composer require webklex/laravel-git-hook. Discover more Laravel packages by webklex or browse all Laravel packages to compare alternatives.

Last updated

Git hook deployment made for Laravel

Latest Version on Packagist Software License Build Status Total Downloads

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

License

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

Comments