nutshell-framework / deployer-recipes
在Erdmann & Freunde使用的Deployer食谱
1.2.4
2024-02-21 14:39 UTC
Requires
- php: >=7.4
Requires (Dev)
- deployer/deployer: ^7.0
README
在Erdmann & Freunde使用的Deployer食谱。
旨在与Contao版本4.13+和Deployer 7配合使用。是默认Contao食谱的扩展意见。
安装
composer require --dev 'nutshell-framework/deployer-recipes:^1.0'
使用
在项目中创建一个deploy.php。可以使用单个食谱或简化的project.php食谱。
<?php // deploy.php namespace Deployer; import(__DIR__.'/vendor/nutshell-framework/deployer-recipes/recipe/project.php'); import('contrib/cachetool.php'); set('rsync_src', __DIR__); host('DEV') ->setHostname('www.example.org') ->set('remote_user', 'acme') ->set('http_user', 'acme') ->set('deploy_path', '/home/www/{{hostname}}') ->set('bin/php', 'php8.1') ->set('bin/composer', '{{bin/php}} /home/composer.phar') ->set('cachetool_args', '--web=SymfonyHttpClient --web-path=./{{public_path}} --web-url=https://{{hostname}}') ; after('deploy:success', 'cachetool:clear:opcache'); // Project-specific exclude add('exclude', [ '.githooks', ]); // Project-specific tasks task('yarn:build', function () { runLocally('yarn run prod'); }); before('deploy', 'yarn:build'); after('contao:manager:download', 'contao:manager:lock');
当不使用public
作为Web目录时,请分别设置
{ "extra": { "public-dir": "web" } }
部署
dep deploy [主机]
每个主机的自定义.htaccess文件
在您的项目中创建一个.htaccess文件,例如,.htaccess_prod
,然后为主机配置它
host('www.example.org') ->set('htaccess_filename', '.htaccess_prod')
文件同步
dep files:retrieve [主机]
将远程/files文件夹与本地/files文件夹同步
数据库辅助工具
这些任务单向地从本地到远程或从远程到本地恢复/发布数据库。
dep database:retrieve [主机]
从远程下载数据库转储并覆盖本地数据库dep database:release [主机]
用本地数据库覆盖远程数据库
其他
从Deployer 6升级
首先,由于它现在大大简化了,并且主机配置已更改,因此从头开始创建deploy.php
是最容易的。
其次,由于v6和v7之间的发布历史编号不兼容,您需要手动首次指定发布名称。否则,您将从发布1开始。
- 找出最新发布(通过SSH连接到远程机器,查看releases文件夹),例如,“42”。
dep deploy -o release_name=43
注意:Deployer 6的老版本发布将不会自动清理。请手动删除旧版本发布。(实际上,您也可以从发布1开始,这没什么大不了的。)