Skip to content

Mahi-Mahi/GitlabDeploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deployments Laravel projects using Git webhooks

git-deploy-laravel assists deployment by receiving a push event message from your repository's server and automatically pulling project code.

This should work out-of-the-box with Laravel 5.x using with webhooks from GitHub and GitLab servers.

This is an internal tool to help with our common workflow pattern but please feel free to borrow, change and improve.

Installation

Step 1

Add the following to your composer.json file then update your composer as normal:

{
    "require" : {
        "orphans/git-deploy-laravel" : "dev-master"
    }
}

Or run:

composer require orphans/git-deploy-laravel

Step 2

Add the following line to you providers in config/app.php:

Orphans\GitDeploy\GitDeployServiceProvider::class,

Step 3

Add the /git-deploy route to CSRF exceptions so your repo's host can send messages to your project.

In file in app/Http/Middleware/VerifyCsrfToken.php add:

protected $except = [
    'git-deploy',
];

Usage

Add a webhook for http://your.website.url/git-deploy to your project in GitHub/GitLab and this package will take care of the rest. The webhook should fire on push-events.

Your website will automatically receive POST messages from the repo manager and perform a Git pull.

Configuration

In most cases the package will find the correct Git repository and Git executable but we advise publishing our config anyway because it will let you enable extra security options and email notifications.

To add custom configuration run:

php artisan vendor:publish --provider="Orphans\GitDeploy\GitDeployServiceProvider"

Then edit /config/gitdeploy.php, which has been well commented.

Future Plans

  • Branch management (i.e. only tigger on changes to active branch).
  • Email report on code conflicts that prevent a pull.

About

Helps automate the deployment of projects onto servers by utilising Git's web hooks.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 74.0%
  • HTML 26.0%