小编ano*_*rex的帖子

使用 Capistrano 和 ActiveStorage 部署后图像不显示

我已经在 Digital Ocean 的服务器上运行 Spree,但每次部署新版本时,我都找不到用户在以前版本上上传的图像

根据我发现的相关帖子,这似乎是我设置符号链接目录的方式存在问题

我尝试将storagedir 添加到我的 linked_dirs 中deploy.rb并发布了一个正在运行的新版本cap production deploy,但我仍然遇到相同的错误

set :linked_dirs,  %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle .bundle public/system public/uploads storage}
Run Code Online (Sandbox Code Playgroud)

我真的不知道这是否可以从当前版本开始工作,但问题是以前的图像仍然丢失,我需要在部署新版本后保留它们

这是我的Capfile

# Load DSL and Setup Up Stages
require 'capistrano/setup'
require 'capistrano/deploy'

require 'sshkit/sudo'

require 'capistrano/rails/migrations'
require 'capistrano/bundler'
require 'capistrano/rvm'
require 'capistrano/puma'
require 'capistrano/nginx'

install_plugin Capistrano::Puma

# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
Run Code Online (Sandbox Code Playgroud)

这是我的config/deploy.rb

# config valid …
Run Code Online (Sandbox Code Playgroud)

symlink capistrano ruby-on-rails spree rails-activestorage

4
推荐指数
1
解决办法
1745
查看次数