Redmine に EasyGantt のプラグインを入れようとしたらハマったので備忘録

仕事で使う技術的なこと

首題の件ですが、 Redmine に EasyGantt というプラグインを入れることにしました。
目的としては、このプラグインを入れることで、ドラッグアンドドロップでガントチャートが引けるようになるからです。

ガントチャートの運用で一番の問題点は、メンテナンスだと思っています。例えば予定を変更する際に、わざわざ日付を手入力するのはかなりのストレスです。それによって、結果的にメンテナンスが置き去りにされて、最終的にガントチャート使わなくなるという流れを今まで何回も経験してきたので、それに終止符を打つべく、 EasyGantt の導入を試みました。

しかし、このプラグイン導入がなかなかてこずりました。
その備忘録を残しておきます。

前提

環境

  • Redmine は Docker で運用している
  • Redmine のバージョン: 3.4.5 1
  • 使用しているDB: mysql
    • mysql のバージョン: 5.7.21 2
  • Docker が動作しているOS: Windows 10 Pro (Docker For Windows で運用)
  • docker-compose を使用している

概要

先にハマったポイントを列挙しておきます。

  • volume のマウントがうまくいかない
  • プラグインの導入方法が、 docker-redmine の公式 に書いてある方法ではうまくいかなかった

手順

結果的に、成功した手順を載せます。

EasyGantt のプラグインを公式からダウンロードする

以下から無料版をダウンロードしました。

www.easyredmine.jp

ダウンロードしたら EasyGanttFree-3.x.zip を解凍して、docker-compose.yml の存在するディレクトリに置きます。

docker-compose ファイルを修正する

version: '3.1'
services:
redmine:
image: redmine:3.4.5
container_name: redmine
restart: always
ports:
- 3000:3000
environment:
REDMINE_DB_MYSQL: mysql
REDMINE_DB_PASSWORD: example
http_proxy: XXXXXXXXXXX
https_proxy: XXXXXXXXXXXX
volumes:
- files:/usr/src/redmine/files
 # ↓これを追加
- easy_gantt:/usr/src/redmine/plugins/easy_gantt
networks:
- common
mysql:
image: mysql:5.7
container_name: redmine-mysql
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: redmine
http_proxy: XXXXXXXXXXXX
https_proxy: XXXXXXXXXXXX
volumes:
- mysql:/var/lib/mysql
networks:
- common
networks:
common:
external: true
volumes:
files:
mysql:
 # ↓これを追加
easy_gantt:

Docker で普通に Redmine を起動する

PowerShell を起動して、以下コマンドで Redmine を起動します。

$ docker-compose up --build

以上で完了のはずです。

追記

これだけだと、コンテナ内にプラグインが展開されていないことがあったので、その場合は以下を実行しました。(コンテナの外側から)

$ docker cp .\easy_gantt\ redmine:/usr/src/redmine/plugins

これで、コンテナの外側からプラグインをコンテナ内に配置できます。

Redmine で確認

f:id:tassi-yuzukko:20190610142252p:plain

上記のように 「Easy Gantt」と表示されていれば、とりあえずプラグインのインストール自体は成功みたいです。


  1. Redmine Ver4.x 以上の場合、 EasyGantt は非対応かもしれないという情報がありました。

  2. mysql v8 以上は認証方式が変更になっているらしく、最初 mysql をバージョンアップしようとしてハマりました。

コメント

タイトルとURLをコピーしました