All Projects → Webklex → laravel-git-hook

Webklex / laravel-git-hook

Licence: MIT, MIT licenses found Licenses found MIT LICENSE MIT LICENSE.md
Automatic git deployment for Laravel

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to laravel-git-hook

ready
A program to run tasks before a commit.
Stars: ✭ 16 (+0%)
Mutual labels:  git-hook
standard coding hook
Git hooks that verifies if your commit message respects the norm
Stars: ✭ 14 (-12.5%)
Mutual labels:  git-hook
modular-git-hooks
A tool for organizing git hooks into directories of modular files.
Stars: ✭ 19 (+18.75%)
Mutual labels:  git-hook
komit
An interactive prompt for conventional commit messages that doesn't get in your way. Designed to run as a git hook.
Stars: ✭ 29 (+81.25%)
Mutual labels:  git-hook
elixir git hooks
🪝 Add git hooks to Elixir projects
Stars: ✭ 98 (+512.5%)
Mutual labels:  git-hook
semantic-commit-hook
Git hook that enforces semantic commit messages.
Stars: ✭ 34 (+112.5%)
Mutual labels:  git-hook
rubocop runner
runs rubocop for changed files, can be used as pre-commit hook
Stars: ✭ 27 (+68.75%)
Mutual labels:  git-hook
git-emojis-hook
Simple git hook to provide strong guidelines for commit message with emojis
Stars: ✭ 46 (+187.5%)
Mutual labels:  git-hook

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].