部署者 PHP 未从 Laravel 的存储文件夹中复制文件
Deployer PHP not copying files from Laravel's storage folder
我正在使用 Deployer PHP 和 laravel 以及 rsync 配方来部署我的 Laravel 项目,但由于某些原因,storage/app
文件夹中的文件没有被复制从 git 分支到服务器上的存储文件夹。
.gitignore 设置正确,我需要同步的文件实际上在 git 中。所以问题似乎出在 Deployer 没有将文件复制到 shared/storage/app
文件夹
storage/app/.git忽略:
*
!.gitignore
!public/
!public/*
!templates/
!templates/*
!templates/fonts/
!templates/fonts/*
deployer.php
<?php declare(strict_types=1);
namespace Deployer;
// Include the Laravel & rsync recipes:
require 'recipe/rsync.php';
require 'recipe/laravel.php';
...
set('rsync_src', function () {
return __DIR__ . '/www'; // My LAravel project is in a sub folder of the git branch
});
// Configuring the rsync exclusions.
add('rsync', [
'exclude' => [
'.git',
'/.env',
'/storage/framework/',
'/storage/logs/',
'/vendor/',
'/node_modules/',
'.gitlab-ci.yml',
'deploy.php',
],
]);
...
关于这里可能出现的问题和可能的解决方案有什么想法吗?
这似乎是设计使然。 Deployer 将 /storage 作为共享文件夹进行管理,因为它包含您可能希望跨版本保留的信息,例如会话、日志等。
我猜想以这种方式移动的文件如果在 /resources 下维护它们会更好
我正在使用 Deployer PHP 和 laravel 以及 rsync 配方来部署我的 Laravel 项目,但由于某些原因,storage/app
文件夹中的文件没有被复制从 git 分支到服务器上的存储文件夹。
.gitignore 设置正确,我需要同步的文件实际上在 git 中。所以问题似乎出在 Deployer 没有将文件复制到 shared/storage/app
文件夹
storage/app/.git忽略:
*
!.gitignore
!public/
!public/*
!templates/
!templates/*
!templates/fonts/
!templates/fonts/*
deployer.php
<?php declare(strict_types=1);
namespace Deployer;
// Include the Laravel & rsync recipes:
require 'recipe/rsync.php';
require 'recipe/laravel.php';
...
set('rsync_src', function () {
return __DIR__ . '/www'; // My LAravel project is in a sub folder of the git branch
});
// Configuring the rsync exclusions.
add('rsync', [
'exclude' => [
'.git',
'/.env',
'/storage/framework/',
'/storage/logs/',
'/vendor/',
'/node_modules/',
'.gitlab-ci.yml',
'deploy.php',
],
]);
...
关于这里可能出现的问题和可能的解决方案有什么想法吗?
这似乎是设计使然。 Deployer 将 /storage 作为共享文件夹进行管理,因为它包含您可能希望跨版本保留的信息,例如会话、日志等。
我猜想以这种方式移动的文件如果在 /resources 下维护它们会更好