一种方法是使用我创建的这个包:https ://github.com/antonioribeiro/deeployer 。其背后的想法是每次您git push
对 github 或 bitbucket 执行操作时更新您的应用程序。因为它使用了 Taylor 的 Laravel Envoy Task Runner,所以更新你的应用程序真的很容易:
查看此页面以了解如何安装 Laravel Envoy Task Runner:http ://laravel.com/docs/ssh#envoy-task-runner
在您的应用程序上安装 Deeployer:
composer require pragmarx/deeployer dev-master
创建一条路线来进行自我更新:
Route::post('deploy', function()
{
return Deeployer::run();
});
Envoy.blade.php
使用更新命令在应用程序的根目录中创建一个文件:
@task('https://github.com/you/repo-name:master', ['on' => ['localhost']])
git pull origin master
composer dump-autoload --optimize
php artisan migrate
@endtask
然后你只需要在你的应用程序中添加一个 webhook:
https://github.com/yourname/yourapplication/settings/hooks
指向您的路线:
http://yourdomain.com/deploy