nextabyte/deployer

在服务器上处理部署的数据。

安装: 78

依赖项: 0

建议者: 0

安全: 0

类型:标准

1.2 2023-10-01 10:43 UTC

This package is auto-updated.

Last update: 2024-09-30 01:59:59 UTC


README

用于在服务器上处理部署数据的PHP脚本。

不会将数据传输到服务器。此脚本与CI/CD服务器一起使用,在文件构建并传输到upload目录后。

将创建一个包含最新发布版本的releases文件夹和一个指向当前活动版本的current符号链接。

PHP opcache与符号链接存在一些问题,因此已弃用的发布版将被移动到archive文件夹。

如果提供了数据库凭证,数据库将被导出到db_backup文件夹内的zip文件中。

如何使用

在文件(例如deploy.php)中使用它,如下所示

#!/usr/bin/env php
use Nexabyte\Deployer\Deployer;

include 'Deployer.php';

$deployer = new Deployer();

$deployer->writeln("<info>Deployment started</info>");
$deployer->setSharedDirs([
    'var',
    'storage',
]);
$deployer->setSharedFiles([
    '.env.local',
]);

// Make a DB backup (can be omitted)
$deployer->setDbUser('user');
$deployer->setDbPass('password');
$deployer->setDbTable('tablename');

// Deploy it
$deployer->deploy();

然后运行它

./deploy.php
#or
php deploy.php

选项

// Change number of kept releases:
$deployer->setKeepReleases(5);

// Switch off zip compression for database backups:
$deployer->setDbBackupCompress(false);

// Write to the terminal:
$deployer->writeln("<info>Deployment started</info>");

// Change the deploy path
$deployer->setDeployPath('sub/folder');

// Add hooks
$deployer->addHook(Deployer::HOOK_HANDLE_SHARED_BEFORE, 'echo {{current_release_dir}} && cd {{current_release_dir}} 2>&1 && ls -la');