daltcore/laravel-deploy-helper

该包已被废弃且不再维护。未推荐替代包。

Laravel 部署助手

3.0.0 2020-11-08 10:49 UTC

README

Dependency Status StyleCI Packagist Packagist license Made by DALTCORE FOSSA Status

兼容 Laravel 5.1,5.4 及更高版本。

对于 Laravel 5.1,使用分支 5.1 和标签 v0.5.x

LDH 是一个 Laravel 包,可以帮助您在不使用 FTP 的情况下部署网站。
LDH 包使用 SSH 在服务器上构建部署环境,以实现零停机部署和回滚功能。
和回滚功能。

每个人都可以帮助使这个包更大、更好!;-)

安装

通过 Composer

$ composer require daltcore/laravel-deploy-helper

在您的 config/app.php 中

DALTCORE\LaravelDeployHelper\LdhServiceProvider::class,

发布配置

$ php artisan vendor:publish --tag=ldh-config

使用

部署到服务器
将完整实例部署到远程服务器

php artisan ldh:deploy --stage=production --branch=develop

修补到服务器
向远程服务器推送简单修补程序(仅限小改动)

php artisan ldh:patch --stage=production --branch=patch

回滚一个实例
发生严重错误,回滚到历史记录

php artisan ldh:rollback --stage=production

配置

阶段
在阶段部分,您需要定义阶段信息。

git
您可以使用带有基本身份验证的 git 的 http URL。例如: https://username:password@github.com/repo/name.git .
您可以使用 git 的 ssh。例如: git@github.com:repo/name.git

连接
在连接部分,您可以添加用于部署的 SSH 详细信息

remote.root
在这里,您可以放置 LDH 设置目录结构的根目录

命令
这是一个数组,包含需要从当前目录执行的命令

共享目录
这是需要从上一个部署复制到下一个部署的目录部分

共享文件
与目录相同,但针对文件

config.dependencies
在这里,您可以可选地放置一些您希望用于部署的依赖(应用程序)。
您可以使用此功能检查服务器上是否正确设置了版本。
您可能希望使用 'true' 来取消版本检查,而是只检查应用程序是否存在。

config.keep
需要保留多少个旧部署的 '影子' 复制品。这对于回滚功能很有用。

配置示例

<?php

return [
    'default' => [
        'stage' => 'production',
    ],

    'stages' => [
        'production' => [
            'git' => '',

            'branch' => '',

            'connection' => [
                'host'     => '',
                'username' => '',
                'password' => '',
                // 'key'       => '',
                // 'keytext'   => '',
                // 'keyphrase' => '',
                // 'agent'     => '',
                'timeout'  => 10,
            ],

            'remote' => [
                'root' => '/var/www',
            ],

            'commands' => [
                'composer install',
            ],

            'shared' => [
                'directories' => [
                    'public',
                    'storage',
                ],
                'files'       => [
                    '.env',
                ],
            ],

            'config' => [
                'dependencies' => [
                    'php' => '>=5.6',
                    'git' => true,
                ],
                'keep'         => 4,
            ],
        ],
    ],
];

目录结构

LDH 在第一次部署时部署以下目录结构

.
├── current -> /var/www/vhosts/example.org/releases/1498833243
├── ldh.json
├── patches
│   └── 0001-Update-readme.md.patch
├── releases
│   └── 1498833243
└── shared

如你所见,LDH 从 /current 静态链接到 /releases/1496845077
您只需将虚拟主机指向 /current/public,Laravel 网站即可正常工作。

许可证

FOSSA Status