nextabyte / deployer
1.2
2023-10-01 10:43 UTC
Requires
- php: >=7.2
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');