たくろぐ!

世界一のチラ裏

RedmineをHerokuにデプロイした

はじめに

タスク(プロジェクト)マネジメントツールとして多くの開発現場で活用されているツールがRedmine

競合としてはJiraとかtracとかBacklogとかがあるけど、今後GitLabとも競合になりそうな感じらしい。

www.slideshare.net

forza.cocolog-nifty.com

taikii.net

GitLabは以前は環境を作るのが苦行だったらしいが、今はDockerコンテナイメージがあるので簡単に環境を作れるらしい。

これ知ったのがRedmineの環境構築後だった。

oh...

実際にやってみる

qiita.com

上記のエントリーをほぼ踏襲する感じでRedmineをHerokuにデプロイした。

大きなつまづきポイントはなかった。

とても助かった。

理解したこと

qiita.com

HerokuのPostgreSQLにローカルアクセスするのにローカルにもPostgreSQLをインストールしないといけないということを知った。

正直面倒だと感じた。

今はVagrantfileにプロビジョニング設定をいちいち入力して vagrant reload --provision しているがAnsible覚えたら少しは楽になるのかな。

運用に関して

qiita.com

上記エントリーを参考にしたい。

ちなみにTrelloも会社で運用しているのだが、こちら割とナウいUIでカンバンになっているので
タスクが見やすく設計されているがRedmineと違い子チケットを作成できないという点が残念だと思っていた。

しかし上記のエントリーではむしろ子チケットを作成するよりも関連チケットとしてひもづけた方が管理がしやすいと書かれていてショックを受けた。

それ早く言ってよ〜って感じ。

Redmineは現場のプロジェクトで使っているがカスタムフィールドや開発プロセスごとにチケットテンプレートを使っていて独自色が強く、完全には現場の運用方法を理解していない。

したがってまずは自分のタスク管理として実際に使ってみて事実を集めていきたいと思う。

トラブルシューティング

新しいチケットが作成できない

トラッカーを一つ以上そのプロジェクトに割り当てる必要がある。

redmine.jp

上記リンクは少し古いかもしれない。

バージョン4.0.4.develではプロジェクト > 設定 > チケットトラッキング > 一つ以上のトラッカーにチェック > 保存

まとめ

GItLabにしようかな。

草。

追記(2021/06/06)

mimemagicライセンス問題にひかかっていたので対応した。

GemfileからRubyの行を削除して、railsを5.2.xの最新(現時点で5.2.5)に変更してbundle updateすると以下のエラーとなる。

Installing mimemagic 0.4.3 (was 0.3.3) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /private/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/gems/mimemagic-0.4.3/ext/mimemagic
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -rrubygems /Library/Ruby/Gems/2.6.0/gems/rake-13.0.3/exe/rake
RUBYARCHDIR\=/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/extensions/universal-darwin-20/2.6.0/mimemagic-0.4.3
RUBYLIBDIR\=/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/extensions/universal-darwin-20/2.6.0/mimemagic-0.4.3
rake aborted!
Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml",
"/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/opt/local/share/mime/packages/freedesktop.org.xml", "/usr/share/mime/packages/freedesktop.org.xml"]

Ensure you have either installed the shared-mime-info package for your distribution, or
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
of that file.
/private/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/gems/mimemagic-0.4.3/ext/mimemagic/Rakefile:15:in
`locate_mime_database'
/private/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/gems/mimemagic-0.4.3/ext/mimemagic/Rakefile:26:in `block in
<top (required)>'
/Library/Ruby/Gems/2.6.0/gems/rake-13.0.3/exe/rake:27:in `<main>'
Tasks: TOP => default
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in /var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/gems/mimemagic-0.4.3 for inspection.
Results logged to
/var/folders/0d/b928_97n133dnbl408bbq2xw0000gn/T/bundler20210606-90954-1xstjdkmimemagic-0.4.3/extensions/universal-darwin-20/2.6.0/mimemagic-0.4.3/gem_make.out

An error occurred while installing mimemagic (0.4.3), and Bundler cannot continue.
Make sure that `gem install mimemagic -v '0.4.3' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  mimemagic

調べると以下のエントリーが見つかる。

stackoverflow.com

以下のコマンドを実行する。

brew install shared-mime-info

pgのインストールで落ちる。

stackoverflow.com

brew install postgres

とりあえずここまででgit push。

でもまだだめ。

sprocket周辺でエラー。

github.com

mkdir -p app/assets/config && echo '{}' > app/assets/config/manifest.js

次にdb:createでエラー。

heroku run rake db:create -a project_name
Running rake db:create on ⬢ project_name... up, run.4157 (Free)
FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.
Couldn't create 'xxxxxxxxxxxxxx' database. Please check your configuration.
rake aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

権限がないよって怒られている気がする。

結果的にはmigrateをそのままやればよかったんだけどいろいろやって時間がかかってしまった。

heroku rake db:migrate:reset -a project_name
Running rake db:migrate:reset on ⬢ project_name... up, run.8356 (Free)
FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.
Couldn't drop database 'xxxxxxxxxxxxxxxxx'
rake aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

# これは実行できた
heroku pg:reset DATABASE_URL -a project_name

heroku rake db:migrate:status -a project_name
Running rake db:migrate:status on ⬢ project_name... up, run.2386 (Free)
Schema migrations table does not exist yet.

heroku run rails db:reset -a project_name
Running rails db:reset on ⬢ project_name... up, run.5494 (Free)
FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.
Couldn't drop database 'xxxxxxxxxxxxxxxxx'
rails aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

全然話変わるけど、Macruby -vが重くて止まる現象が発生している。

$ ruby -v
/usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-exec: line 47: /Users/a3ae10511//.rbenv/shims/ruby: Argument list too long

こういうのめんどくさいよ〜。っておもった時点でエンジニアむいてないのかな。

ゆっくり技術書以外の本が読みたいです。