我正在构建一个小型cms,我想为它做一个自我更新功能。 (像WordPress这样的东西,但说实话,我不知道它是如何工作的)
所以我现在就在这里:
这就是我被困住的地方。我不知道这是不是好方法,即便如此,我该怎么办呢。
所以可以请有人给我一些指示,想法,任何建议将不胜感激。
答案 0 :(得分:4)
单向是使用我创建的这个包: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
然后你只需要在你的应用程序中添加一个webhoot:
https://github.com/yourname/yourapplication/settings/hooks
指向你的路线:
http://yourdomain.com/deploy