Ich bin mit Rails vertraut, aber dies ist das erste Mal, das ich in die Produktion hochlade. Ich kann meine App erfolgreich in AWS hochladen und bereitstellen. Allerdings muss ich jedes Mal, wenn ich das tue, auf meinen Server zugreifen und die notwendigen Rake-Aufgaben ausführen, um meine Modelle zu bereinigen und meine Website vollständig vorzubereiten. Gibt es eine Datei wie production.rb, wo Sie ein Skript schreiben können, das bei jedem Produktions-Upload ausgeführt wird. Führen Sie beispielsweise alle Tests und Rake-Tests durch? Gibt es ein einfaches Beispiel für ein Skript jemand. Dies ist das Beispiel meiner Rake-Datei.Beim Hochladen in die Produktion immer Rake-Task ausführen
Hinweis: Ich verwende AWS Beanstalk, super einfach zu implementieren, möchte nur einige Postproduktion bereit Skripts ausführen.
Dies ist die Rake-Datei, die ich nach der Bereitstellung Befehle ausführen möchte.
require "#{Rails.root}/app/helpers/application_helper"
include ApplicationHelper
namespace :db do
desc "Generate a new blog post markdown"
task new_article: :environment do
cp 'lib/assets/articles/template.md', "lib/assets/articles/NEW_ARTICLE#{Time.now.strftime("%s")}.md"
puts 'new article created!'
end
task populate: :environment do
Article.destroy_all
if User.count == 0
User.create!(name: "AJ", email: "[email protected]")
end
puts Dir.pwd
a = File.join("lib", "assets", "articles", "*.md")
Dir.glob(a).reject { |name| /.*(template|NEW_ARTICLE).*/ =~ name }.each do |file|
File.open(file, "r") do |f|
contents = f.read
mkdown = Metadown.render(contents)
md = mkdown.metadata
unrendered_content = contents.sub(/^---(\n|.)*---/, '')
#puts unrendered_content
article = Article.create!(title: md["title"],
content: markdown(unrendered_content),
header_image: md["header_image"],
published: md["published"],
useful_links: md["useful_links"],
people_mentioned: md["people_mentioned"],
written_at_date: md["written_at_date"],
timestamp: md["timestamp"],
embedded_link: md["embedded_link"],
user: User.first)
article.add_tag(md["tags"])
puts article.useful_links
puts article.people_mentioned
puts article.header_image
puts article.tags
end
end
puts "Article Count: #{Article.count}"
end
end