- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我致力于能够使用 capistrano 部署到生产环境。我面临着几个问题,在解决大部分问题的同时,我们还有最后一个问题。
我们的预编译 Assets 选项没有在生产环境中正确编译它们,因此,我们无法使用最后开发的功能,因为它们严重依赖 JS。
在不试图影响任何人如何分析这个问题的情况下,这是我试图让它发挥作用的一些方法:
# $:.unshift(File.expand_path('./lib', ENV['rvm_path']))
# Load rvm's capistrono plugins
require 'rvm/capistrano'
require 'bundler/capistrano'
set :rvm_type, :user
set :user, 'username'
set :domain, 'ip_address'
set :application, "app_pro"
set :keep_releases, 2 # It keeps on two old releases.
# git repo details
set :scm, :git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control directory names
set :repository, "git@github.com:user/app.git"
set :scm_username, 'user'
set :git_enable_submodules, 1
set :git_shallow_clone, 1
set :branch, 'master'
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
role :web, domain # Your HTTP server, Apache/etc
role :app, domain # This may be the same as your `Web` server
role :db, domain, :primary => true# 'ec2-23-23-156-118.compute-1.amazonaws.com' This is where Rails migrations will run
# role :db, "your slave db-server here"
# deply options
default_run_options[:pty] = true
set :ssh_options, {:forward_agent => true}
set :ssh_options, {:auth_methods => "publickey"}
set :ssh_options, {:keys => ["~/Downloads/key.pem"]}
set :deploy_to, "/home/user/appdir"
set :deploy_via, :remote_cache
set :use_sudo, false
# if you want to clean up old releases on each deploy uncomment this:
after "deploy:restart", "deploy:cleanup"
# if you're still using the script/reaper helper you will need
# these http://github.com/rails/irs_process_scripts
# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
task :start do
# run COMMAND="/etc/init.d/nginx restart" invoke SUDO=1
run "sudo /etc/init.d/nginx restart"
# exit
end
after "deploy:start", "deploy:cleanup"
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "touch #{File.join(current_path,'tmp','restart.txt')}"
end
task :setup_config, roles: :app do
run "mkdir -p #{shared_path}/config"
put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml"
puts 'now edit the config file database in #{shared_path}'
end
after 'deploy:setup', 'deploy:setup_config'
desc "Symlink shared resources on each release - not used"
task :symlink_config, :roles => :app do
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
end
after 'deploy:finalize_update', 'deploy:symlink_config'
desc "It helps to seed database with values"
task :seed do
run "cd #{current_path}; bundle exec rake db:seed RAILS_ENV=#{rails_env}"
end
task :create_schema do
run "cd #{current_path}; bundle exec rake db:create RAILS_ENV=#{rails_env} --trace"
end
end
# On-working new/alternative deploy.rb file:
require 'rvm/capistrano'
require 'bundler/capistrano'
set :rvm_type, :user
set :application, "ip_address"
set :domain, 'ip_address'
# Roles
role :web, domain
role :app, domain
role :db, domain, :primary => true
#deployment details
set :deploy_via, :remote_cache
set :user, "username"
set :copy_compression, :bz2
set :git_shallow_clone, 1
set :scm_verbose, true
set :use_sudo, false
set :deploy_to, "/home/user/dir"
default_run_options[:pty] = true
set :ssh_options, {:forward_agent => true}
set :ssh_options, {:auth_methods => "publickey"}
set :ssh_options, {:keys => ["~/Downloads/key.pem"]}
#repo details
set :scm, :git
set :repository, "git@github.com:user/app.git"
set :scm_username, 'user'
set :keep_releases, 2
set :branch, "master"
namespace :deploy do
# task :start, :roles => :app, :except => { :no_release => true } do
# # not need to restart nginx every time
# # run "service nginx start"
# run "cd #{release_path} && touch tmp/restart.txt"
# end
# after "deploy:start", "deploy:cleanup"
# after 'deploy:cleanup', 'deploy:symlink_config'
# You do not need reload nginx every time, eventhought if you use passenger or unicorn
# task :stop, :roles => :app, :except => { :no_release => true } do
# run "service nginx stop"
# end
# task :graceful_stop, :roles => :app, :except => { :no_release => true } do
# run "service nginx stop"
# end
# task :reload, :roles => :app, :except => { :no_release => true } do
# run "cd #{release_path} && touch tmp/restart.txt"
# run "service nginx restart"
# end
task :restart, :roles => :app, :except => { :no_release => true } do
run "cd #{release_path} && touch tmp/restart.txt"
end
# If you enable assets/deploy in Capfile, you do not need this
# task :pipeline_precompile do
# # run "cd #{release_path}; RAILS_ENV=#{rails_env} bundle exec rake assets:precompile"
# # precompile assets before deploy and upload them to server
# # run_locally("RAILS_ENV=#{rails_env} rake assets:clean && RAILS_ENV=#{rails_env} rake assets:precompile")
# # top.upload "public/assets", "#{release_path}/public/assets", :via =>:scp, :recursive => true
# end
end
# you do not need to this, because you already add require 'bundler/capistrano'
# before "deploy:assets:precompile", "bundle:install"
load 'deploy'
# Uncomment if you are using Rails' asset pipeline
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
最佳答案
您不需要自己的 :precompile_assets 任务。您通过在 Capfile 中包含加载“部署/ Assets ”来使用 Capistrano。
从 deploy.rb 中删除 :precompile_assets 任务可能会解决问题。如果您查看 Capistrano 的源代码,您会发现它实现 :precompile_assets 的方式完全不同:https://github.com/capistrano/capistrano/blob/legacy-v2/lib/capistrano/recipes/deploy/assets.rb
关于ruby-on-rails - 在亚马逊 EC2 上使用 capistrano 部署到生产环境时, Assets 不会预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581820/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Improve this qu
我已经在我的网站上列出了我所有的亚马逊订单。 现在,我希望能够将订单标记为从我的网站发货,并且状态将在亚马逊上立即更新。 我看过亚马逊提要 api,但不清楚提要 xml 的格式。 我只想要一个用于更新
我想在不经过转换过程(我的内容 --> Epub/Html --> KindleGen/Calibre/其他工具)的情况下生成 KF8,因为我需要更多地控制 kf8 文件的生成。 guidelines
我打算为亚马逊的市场网络服务 (MWS) 开发一个客户端。我的要求是更新订单、同步订单状态、使用他们拥有的 API 获取订单详细信息。 但是,我找不到沙盒环境来测试这些场景。我了解亚马逊有一个支付沙箱
PA-API 的销售已经停止,我想知道这对我来说意味着什么。我喜欢这个 API,但我看不到有自己的网站和购物车等的可能性。 是否有来自 Amazon 的 API 可以将其用于购物车和结账? 只需生成购
我在 salesforce 领域工作,并尝试使用产品 Feed API 在亚马逊卖家账户中创建产品。但我不确定如何为属于珠宝类别的产品创建完美的 xml 提要文件。我可以使用 MWS 客户端库吗?或者
如何使用 Amazon MWS 将内嵌图像添加到注册品牌的产品描述部分还是平面文件? 谢谢! 最佳答案 如果您是注册品牌所有者,则需要使用 enhanced brand content templat
是否可以在一个 aws dynamodb 帐户中创建多个数据库?例如,一个管理大学表格的大学数据库和一个管理学校表格的学校数据库。谢谢。 最佳答案 另一个答案是正确的,但更完整的答案是 DynamoD
我有一个简单的问题,因为没有找到任何答案。实际上,我可以使用亚马逊的 API 从 ASIN 代码中获取有关产品的信息,但在这张图片的情况下,我可以获得一张不同格式的图片,大拇指、中拇指等,对吗? 在我
关于哪个 Web 服务可以上传订单的 pdf 发票? 几周以来,可以通过sellercentral 或第三方软件了解.... 但我找不到有关 mws api 的方法.. 谢谢 最佳答案 也许你应该看看
有没有办法计算通过 amazon redshift 中的 SQL 更新查询影响的最后行数? 类似于 PG_LAST_COPY_COUNT() 之类的函数,用于计算亚马逊 Redshift 中的最后一个
我决定将 MySql 或 NoSQL 用于论坛站点。我对整个 NoSQL 想法很陌生,在阅读文档时我注意到“项目”不能大于 64kb,这包括属性和值。从我理解的方式来看,我能想到的实现这一点的唯一方法
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在创建一个 Alexa 技能,需要检索各种内容,例如日期、文件号等。我还需要它来获取用户对其所说的“描述”并能够保留它。 例如: "Alexa, description, patent draft
我已经用“标题”和“类别”等对我的产品建立了索引。现在,在我的自动建议中,我想要诸如Amazon / Flipkart之类的东西, 例如,如果我查询“绿色”,建议使用“绿茶”,“绿色衬衫”,“男士绿色
我是英国亚马逊(以及同一帐户上的所有欧盟商城)的注册专业卖家 我有我的卖家帐户 ID、开发者 ID、开发者身份验证 token 和私钥。 在 MWS 暂存器中,我可以发出请求并获得状态 API 的成功
我有一个 Web 服务器在 Ubuntu Amazon EC2 实例上运行,端口为 3000。15.0.0.10 是这个 EC2 实例的私有(private) ip。 在我通过 ssh 进入该实例并运
我在 Amazon S3 中使用 GetSessionToken/GetFederationToken 的临时 session ,我计划拥有超过 10K 个用户,每个用户都可以上传到 S3,所以一开始
我在heroku上有一个django应用程序,它提供来自亚马逊s3存储桶的静态文件。我使用 boto 库并按照网站上的指南进行操作。我可以做什么来加快文件传输速度? 部分代码: DEFAULT_FIL
我正在尝试制作一个小Java程序。 该程序有 3 个整数的输入:S:开始的蚊子,K:每只蚊子生下的 child 的数量,N:我们“调查”的天数。 亚马逊地区的每只蚊子只能存活 1 天。第 0 天,我们
我是一名优秀的程序员,十分优秀!