项目

常规

个人资料

操作

如何在 Heroku 上安装 Redmine (> 2.5.x)

好吧,经过几个月的努力,我终于成功了。
这是我的第一个 Rails 应用程序,我不知道如何操作,所以我找了几份不同的教程。最后,这是我自己的教程。

它结合了以下两种方法

安装 Redmine

首先,我获取了 Redmine 的最新稳定版本(目前为 2.5)

git clone https://github.com/redmine/redmine.git -b 2.5-stable

编辑:使用终端导航到你的项目

cd redmine

然后,和往常一样,我们必须从 .gitignore 中删除这些文件

Gemfile.lock
Gemfile.local
public/plugin_assets
config/initializers/session_store.rb
config/initializers/secret_token.rb
config/configuration.yml
config/email.yml

由于我总是遇到数据库问题,所以我直接从 Gemfile 中删除了这个整个代码块

database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
  database_config = YAML::load(ERB.new(IO.read(database_file)).result)

  ...

  else
    warn("No adapter found in config/database.yml, please configure it first")
  end
else
  warn("Please configure your config/database.yml first")
end

而是将以下内容添加到了 Gemfile

group :production do
  # gems specifically for Heroku go here
  gem "pg", ">= 0.11.0" 
end

最后安装 gem。不要被“请先配置 config/database.yml”之类的日志消息搞混,Heroku 会为你完成此操作。

bundle install

现在可以使用获取密钥令牌

bundle exec rake generate_secret_token

接下来,在 Heroku 上创建一个应用程序(我们假设你已在 Heroku 上注册,并了解所有相关信息)。

heroku create NAME_FOR_YOUR_APP

为避免在部署到 Heroku 时中止,我们必须执行以下两个步骤
  • config/environment.rb 中,我们必须删除(或注释)第 10 行,其中写道
      exit 1
    
  • config/application.rb 中,我们必须在第 13 行和第 14 行之间添加一行并添加此内容:config.assets.initialize_on_precompile = false,它应该如下所示
    ...
    12: module RedmineApp
    13:   class Application < Rails::Application
    14:     config.assets.initialize_on_precompile = false
    15:     # Settings in config/environments/* take precedence over those specified here.
    ...
    

现在,我们终于可以提交我们的更改了

git add -A
git commit -m “preparing for heroku”
git push heroku 2.5-stable:master

现在,在系统提示你时,只需准备好数据库并选择默认语言。

heroku run rake db:migrate
heroku run rake redmine:load_default_data

好了,打开你的 Redmine 并使用你的凭据登录。

heroku open

你的用户名是 admin,你的密码也是 admin

配置电子邮件

首先,你必须将 Sendgrid 附加组件添加到 Heroku

heroku addons:add sendgrid:starter

这只是一个每日最多 200 封邮件的免费版本 (-> 见 附加功能说明 )

然后你为电子邮件配置创建以下文件:config/configuration.yml
在这个文件中你只需有以下内容(调整你的用户名和密码,你可以通过访问你的 Heroku 应用在附加功能页面找到它们)

production:
  delivery_method: :smtp
  smtp_settings:
    address: "smtp.sendgrid.net" 
    port: 25
    authentication: :plain
    domain: "heroku.com" 
    user_name: "SENDGRID_USERNAME" 
    password: "SENDGRID_PASSWORD" 

再次提交并推送你的更改

git add -A
git commit -m “adding email configurations”
git push heroku 2.5-stable:master

好了,尽情享受吧!

我知道这在某些步骤中并不是最干净的方式,但它确实有效,而且我也希望帮到其他人;)

Sandro Kolly 大约 10 年前 更新 · 1 次修订