Skip to content

Latest commit

 

History

History
102 lines (70 loc) · 5.36 KB

README.md

File metadata and controls

102 lines (70 loc) · 5.36 KB

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.