rpsimao/laravel-deploy-helper

用于Laravel的从Artisan部署的辅助工具

2.0.3 2019-10-02 09:53 UTC

README

Dependency Status StyleCI Packagist Packagist license Made by DALTCORE FOSSA Status

与Laravel 5.1、5.4及更高版本兼容。5.1版本使用分支5.1和标签v0.5.x

对于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可以设置其目录结构的根目录

命令
这是一个包含需要从/current目录执行的命令的数组

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

共享文件
与目录相同,但是文件。

配置依赖
在这里,您可以可选地放置一些希望用于部署的依赖项(应用程序)。
您可以使用此功能检查服务器上的所有内容是否已正确设置版本。
您可能希望使用'true'来取消版本检查,而不是仅检查应用程序是否存在。

配置保留
需要保留多少个旧的部署的'影子'副本。这些副本对于回滚功能很有用。

配置示例

<?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