
Redmine - это гибкое веб-приложение для управления проектами с открытым исходным кодом, написанное на Ruby on Rails. Если вам нужно начать использовать его в своих проектах, скорее всего, вам нужно развернуть его на сервере. В этой статье вы можете увидеть, как развернуть последнюю стабильную версию Redmine на Heroku, поскольку иногда это может быть немного проблематично.
Сначала нам нужно клонировать последнюю стабильную версию:
git clone https://github.com/redmine/redmine.git -b 3.4-stable
Вы можете найти последнюю версию, посмотрев на ветки на Github.
Затем нам нужно изменить каталог на тот, в котором сейчас находится redmine:
cd redmine
Then we need to delete certain lines from .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)
adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
if adapters.any?
adapters.each do |adapter|
case adapter
when 'mysql2'
gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
when /postgresql/
gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
when /sqlite3/
gem "sqlite3", (RUBY_VERSION < "2.0" && RUBY_PLATFORM =~ /mingw/ ? "1.3.12" : "~>1.3.12"),
:platforms => [:mri, :mingw, :x64_mingw]
when /sqlserver/
gem "tiny_tds", (RUBY_VERSION >= "2.0" ? "~> 1.0.5" : "~> 0.7.0"), :platforms => [:mri, :mingw, :x64_mingw]
gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw]
else
warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
end
end
else
warn("No adapter found in config/database.yml, please configure it first")
end
else
warn("Please configure your config/database.yml first")
end
Затем нам нужно добавить блок, показанный ниже:
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
gem 'thin' # change this if you want to use other rack web server
end
Затем нам нужно установить эти гем-файлы без производства:
bundle install --without production test
Нашему приложению нужен секретный токен, который мы можем сгенерировать с помощью следующей команды:
rake generate_secret_token
Нам нужно создать приложение heroku:
heroku create APP_NAME
Затем нам нужно избежать прерывания при развертывании в Heroku, прокомментировав или удалив следующую строку в config / environment.rb:
exit 1
Затем нам нужно добавить эту строку config / application.rb: < br />
config.assets.initialize_on_precompile = false
We also need to add a database to this application:
heroku addons:create heroku-postgresql
Теперь мы можем зафиксировать и отправить наши изменения:
git add -A
git commit -m “Prepare Redmine for Heroku deployment”
git push heroku 3.4-stable:master
Notice that the version 3.4 may change at the time when you read this article, so it is probably better for you to get the latest version at GitHub and deploy it.
We also need to run the following rake tasks:
heroku run rake db:migrate
heroku run rake redmine:load_default_data
Если мы хотим войти в приложение, мы можем использовать пользователя, созданного в начале:
Имя пользователя: admin
Пароль: admin
Если мы хотим сбросить базу данных, мы можем использовать следующее: heroku pg: reset DB_NAME
Это все, что нам нужно сделать. Теперь мы можем открыть приложение, развернутое на Heroku:
heroku open