enne/laravel-faramond

该包已被废弃,不再维护。未建议替代包。

此包允许您轻松部署Laravel 5应用程序

0.1.0 2017-01-29 14:32 UTC

This package is not auto-updated.

Last update: 2018-01-31 14:24:45 UTC


README

免责声明

我发布得比预期要早得多,因此请期待一些问题。您可以自由地做任何您想做的事情,但请记住,它处于ALPHA阶段,提供“原样”。

简介

FARAMOND:古高地德语Faramund的拼写,意为“旅行保护”。

Faramond旨在在涉及部署(和/或远程控制)时成为您的最佳朋友。

目标服务器的需求

  • git
  • composer
  • 如果源代码库是私有的,则为web服务器用户配置了rsa密钥对

如何检查服务器是否正确配置?

登录为www-data(sudo su -s /bin/bash www-data)并导航到$git-repo-root-path目录,验证以下命令(按此顺序)是否没有错误或需要额外的用户交互

php artisan down
git clean -f
git fetch
git checkout .
git checkout $branch_name
git pull origin $branch_name
mkdir -p composer_temp
composer update
rm -r composer_temp
php artisan migrate
php artisan up

安装

使用composer安装包

composer require enne/laravel-faramond

将提供者添加到config/app.php中的'providers'数组

'providers' => [
    ...
    Ennetech\Faramond\FaramondServiceProvider::class,
    ...
],

使用以下命令发布配置

php artisan vendor:publish --provider="Ennetech\Faramond\FaramondServiceProvider" --tag="config"

编辑配置以匹配您的环境

return [
    // Application version
    'version' => [
        // Current git branch
        "branch" => exec('git rev-parse --abbrev-ref HEAD'),
        // Current git commit
        "commit" => exec('git rev-parse HEAD')
    ],
    // Prefix for faramond routes
    'route-prefix' => 'faramond',
    // Repository ABSOLUTE root path in the server
    'git-repo-root-path' => base_path(),
    // Source branch
    'git-branch' => 'faramond'
    // Key to protect webhook route
    'secret' => 'change_me_please'
];

命令

Faramond将通过artisan cli工具公开这些命令

faramond:deploy

从VCS的默认分支部署应用程序

API

Faramond将通过YOUR-APP/route-prefix公开这些API

GET /version/>SECRET<

将返回配置的版本值

POST /update/>SECRET<

这将触发默认分支上的部署程序,并返回一个包含每个操作详细信息的json

您可以通过POST正文选择另一个分支,例如

{
  "branch": "feature\my-amazing-feature"
}

即将推出(希望如此)

  • 远程服务器记录

许可

MIT