ruby-on-rails - 将 Rails 应用程序打包为 RPM 的 Rails 构建步骤
问题描述
我们正在尝试将 Rails 应用程序部署为 RPM 包(以简化部署并使其更容易自动化),目前我们使用 Capistrano,目前我们需要手动运行它,这会妨碍我们的工作。
所以我的问题是,在我们实际打包应用程序之前需要完成哪些构建步骤?
到目前为止,我有:
bundle config build.nokogiri --use-system-libraries
bundle install --deployment
bundle config set deployment 'true'
RAILS_ENV=production bundle exec rake assets:precompile
我不确定还需要什么(如果有的话),我已经看过但我找不到任何确定的东西,我发现的都是“使用 Capistrano”、“mina”或“其他一些自动部署工具”但在实际的构建步骤中没有任何内容。
我确实找到了 deploy_rails_as_rpm但它只是用于生成 rpm 规范文件,我还找到了 make_rpms.rb甚至rpmbuild,但我不确定它们是否有用。
说到 rpm 规范文件,目前正在使用FPM构建 RPM 包:
build_rpm () {
gem install fpm
fpm \
-s dir \
-C "$APP_HOME" \
-t rpm \
--prefix "$DEPLOYMENT_LOCATION" \
-n "$RPM_NAME" \
--after-install "$APP_HOME/post_deploy.sh"
}
所以我想知道,是需要 RPM 规范文件还是像我们目前一样使用 FPRM?
解决方案
推荐阅读
- mysql - 内部联接从子表中的外键获取“名称”属性
- r - R- 维恩图的三个向量(或数据框列)中每一个的唯一和常见项目
- spring - 为什么@Cacheable 在第二次调用方法后不起作用
- python-3.x - 将数据发布到 Google 表格中的新行(Python)
- c# - System.Net.Mail - 无法向用户发送电子邮件 - 收到“交易失败:服务器响应为 [此处的域名]”错误消息
- mongodb - 需要避免重命名 90GB 的大型 mongo 数据库。我可以将一个数据库名称代理到服务器上的另一个数据库名称吗?
- python - 如何展平具有相同 id 的多行的 pandas 数据框
- google-apps-script - 每周更新列中的新行
- django - 查找 Django API 瓶颈
- java - 等待来自 vertx 中多个可观察对象的响应