nutshell-framework/deployer-recipes

在Erdmann & Freunde使用的Deployer食谱

1.2.4 2024-02-21 14:39 UTC

This package is auto-updated.

Last update: 2024-08-28 09:48:52 UTC


README

Erdmann & Freunde使用的Deployer食谱。

旨在与Contao版本4.13+和Deployer 7配合使用。是默认Contao食谱的扩展意见。

安装

composer require --dev 'nutshell-framework/deployer-recipes:^1.0'

使用

全局或按项目安装Deployer

在项目中创建一个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开始,这没什么大不了的。)