【问题标题】:Publishing website changes to a ruby server将网站更改发布到 ruby​​ 服务器
【发布时间】:2016-12-05 22:19:58
【问题描述】:

我正在使用新的 CMS 安装重新制作网站,该安装当前使用 Ruby(Ubuntu 和 Puma - 根据原始 DEV)设置。在新站点启动之前,他们希望对当前的实时站点进行一些文本和图像更新。

我获得了一个 ssh 来连接到远程服务器并进行请求的更改,但是我无法将这些更改发布到实时站点。我确信这是因为我完全不了解 Ruby 的工作原理。

我进行了一些研究,并在下面找到了一些主要使用的资源:

  1. GitHub.com/puma/puma

查看此选项后,我尝试了以下操作以使更改反映在实时站点上。

  1. 重启彪马
  2. 重启 NGinX
  3. 在它所在的 AWS 上重新启动了 HTTP。
  4. 在临时目录中创建/触摸 restart.txt 文件

遗憾的是,这些更改都没有发布我的更新。我发现了很多关于 Ruby 服务器的初始部署的文章,但是,其中没有任何内容告诉我发布更改,或者如果我缺乏关于该语言的知识库导致我错过了它。

有没有人能够建议一个标准流程来发布我没有遇到或需要澄清的更改?

提前谢谢你。

更新 原来我能够得到原来的DEV。他给我留下了一些指示,如下:

  1. 请在所需文件中更改图片/html。
  2. 然后运行命令-RAILS_ENV=production rake assets:precompile
  3. 然后要杀死正在运行的 puma 进程,请使用这些命令 - ps aux | grep puma kill -9 1025(puma process number)
  4. 然后使用此命令重新启动服务器 - bundle exec puma -C config/puma.rb

我照他说的做了,但大多数事情都出现了错误,例如:

  • 耙子中止!未找到 Rakefile(正在查找:rakefile、Rakefile、rakefile.rb、Rakefile.rb)
  • 没有这样的过程
  • 最后在尝试捆绑和执行时:Could not locate Gemfile or .bundle/ directory 导致页面 502 Bad Gateway。

【问题讨论】:

  • 您所做更改的性质是什么?有些更改甚至不需要重新启动(更改视图:app/views/videos/index.html.erb)其他更改需要重新启动(更改初始化程序),还有其他更改需要重新启动并加载特定命令(添加一颗新宝石)
  • @whodini9 我对系统应用程序文件夹中的 3 个单独的 .html.erb 文件进行了两段类型更改,并上传了 1 个在两个不同位置使用的新图像。就是这样。
  • 您可以将路径添加到您更改/添加的文件吗?
  • 在服务器中,文件更新位于:app/views/home 和 app/views/static_pages。至于图片,它位于:assets/images/banner。
  • 在顶部注意到这一点:*** 需要重新启动系统 *** 认为这可以阻止事情发生吗?

标签: ruby-on-rails ruby nginx


【解决方案1】:

如果您来到已经发布的应用程序,我希望会有一些自动化部署过程。 CapistranoFabric,或者是一些带有提交后挂钩的远程 git repo。

基本上查找config/deploy.rbconfig/deploy 目录。此外,如果您的应用根目录中有 Capfile,则意味着 Capistrano 有一个自动部署集。

除此之外,您并没有写出您是如何将更改更改到服务器的。如果你做对了并且把它们送到了正确的地方,那么你的其他步骤是正确的,如果不是@whodini9 提到的太多的话。

【讨论】:

  • 关于我是如何进行更改的,我通过 ssh 打开了特定的 .html.erb 文件并通过那里进行了更新。我再次检查只是为了确认我的更新在文件中得到了尊重......看起来不错。我现在正在寻找配置文件,并会通知您。
  • 好的。 config/deploy.rg 或 config/deploy 没有运气。不过,站点的根级别有一个 .git 目录和 .gitignore 。这些是您在对自动化流程的评论中强调的内容吗?
  • 不,这只是意味着应用程序使用 git 作为版本控制服务。
  • 应用程序在服务器上的路径是什么?例如 Capistrano 存储了几个较旧的部署,因此可以在出现错误时回滚。您可能会意外更改备份。
  • 我更新的文件位于 app/views/home 和 app/views/static_pages 下
【解决方案2】:

所以开发人员的说明结果证明是正确的更新方法,他只是忘记说明我要运行它们的文件夹级别。我在他提供给我的根级别运行它们,而不是在他存放站点文件夹的 3 个目录下运行它们。以下是上述问题中没有任何错误信息的步骤:

  1. 运行命令 - RAILS_ENV=production rake assets:precompile
  2. 然后要杀死正在运行的 PUMA 进程,请使用以下命令: ps辅助| grep 美洲狮 kill -9 1025(puma 进程号)
  3. 然后使用以下命令重新启动服务器:bundle exec puma -C config/puma.rb

一旦将这些命令应用于 dev 指定的文件夹,所有内容都会按预期更新。我希望这可以在将来对其他人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    相关资源
    最近更新 更多