人生、徒然なるままに。

IT系の話題をメインに。DIYer。C#er。旅行/天文好き。

Redmine3系 と knowledgebase,Issue_templateを SQLServer2012 とWindowsServer2012で動かしてみた話

Redmine3系をSQLServer2012とWindowsServerで動かしてみました。

導入しようとする経緯とか。

 

***********************

2017-03-18 追記

 Redmineインストール部分について、新しく書き直しました。

shoutatani.hatenablog.com

 

***********************

 

そもそもRedmineとは?何に役に立つのか。

 

Redmineとは — Redmine.JP

 

Redmineオープンソースのプロジェクト管理ソフトウェアです。

プロジェクトのタスク管理、進捗管理、情報共有が行えます。SubversionやGitなどのバージョン管理システムとの連携機能も備えており、ソフトウェア開発やwebサイト制作などのITプロジェクトで特に威力を発揮します。

 

上から引用するなら、タスク管理・進捗管理・情報共有に役立つ、とのこと。

今時Excel上で情報管理なんてヤバいよね、って話。(実体験)

 

Excelだと、認証管理はディレクトリへのアクセス権限さえあれば見れてしまうという大雑把なものだし、検索もよろしくない。

それがRedmineだと全て解決できます。

 

詳しくは下のスライドで。

www.slideshare.net

 Rails(Ruby on Rails)で動いています。

 

Redmineの特徴

「チケット」を発行して各種タスクを管理すること。

チケット — Redmine用語解説

チケットはRedmine上でタスクを管理するのに使われます。実施すべき作業、修正すべきバグなどの一つ一つのタスクをRedmineのプロジェクトにチケットとして登録します。1件のタスクにつき1件のRedmineのチケットを作成し、タスクの内容・優先度・担当者・期日・進捗状況などを記録できます。

プロジェクトにチケットを追加し、担当者を割り当て、そして作業の進捗に応じてそのチケットを更新していく、というのがRedmineでタスクを管理する際の基本的な流れです。

 

本来ならこの通りに、タスク管理などに威力を発揮しうるチケット駆動タイプの管理手法ですが、ナレッジ管理に使えないかなー、と一考。

 

今の仕事柄、お客様や他の拠点からの問合せが多くてその都度調べることが多々。(勉強不足なのは否めないけども。)

しかしその「調べる」という行為がソースコードを調べる・業務専門のプロに聞かなければいけない、など非効率極まりない状況に。新人が入ってきたらまた全てを口頭で伝授していくという昔ながらも昔ながらすぎるスタイル。

 

せめて、どのような問い合わせがあって結果どのように解決したか、どのような点が疑問点となって潜在的な課題になっているものは何か、を知識集約化して解決したい

 

そんなときにたまたま出会ったのがこのRedmine

出会いは、Knowledgebaseというプラグインから。

これなら、必ず伝えていかなければいけない情報を貯めていける、と思ったので。

qiita.com

 

 

プラグインのナレッジベースで口伝すべき知識集約を図るのはいいけれど、Redmineの売りであるチケットはどうするのかという点については、チケットではお客様・他拠点からの問い合わせを管理することに

 

でもチケットの書き方も統一したい・・・ので、

Issue_Templateというプラグインも導入しましょう。

oichinote.com

 

これは、チケット発行時のテンプレートを設定できます。

したがって、書き方を統一することで、チケットの横断検索時の精度向上につながります。

 

 

ということで、Redmine(QAをチケット管理) + knowledgebaseプラグイン(口伝すべき情報の蓄積) + Issue_Templateプラグイン(チケットの書き方をある程度一般化) で導入決定!

 


 

導入方法

さて、どのような構成で会社のプロジェクトに導入しようか、と考える。

 

Windows系 + SQLServer系 + VB.net/C# な会社で、他のOS/RDBMS/言語を全っっったく知らなく興味すらなくOSSに振れたこともなさそうな人ばっかりで。当然のごとくRails,Gitとは何ぞやという人たちも多くて。

 

自分が社内管理用に導入したのはいいけれど、その後メンテナンスコストがかかるのも怖い・・・。

 

ということで、Redmineをオールインワンパッケージで導入するのは、MySQLとかを考えると後々を考えると却下。

なので、全部単品で入れてみます。

 

構成は、タイトルにもある通り、

Windows Server 2012 R2 をベースに、RDBSQL Server 2012,

Rubyのバージョンは2.1.7-x64。

DevKitは DevKit-mingw64-64-4.7.2-20130224-1432-sfx で。

HTTPサーバは付属のWEBrick

Redmineは3.0.4を選択。

プラグインはknouledgebase(redmine_knowledgebase-redmine-3.0-compat)とIssue_Template(redmine_issue_templates-0.1.0)を。

 

導入開始。(WIndowsSQL Serverは省略)

 

1.

まずは動作のベース言語、Rubyのインストールから。

Redmineの公式によると、Redmineの3系は1.9.3~2.2までを指定。

www.redmine.org

ということで、Railsの開発をガシガシやるような環境じゃないのでRubyのバージョンは2.1.7を選択しました。

インストール方法はこちらで。

qiita.com

 

2.

お次はRubyのCコンパイラが必要な部分をサポートしてくれるDevKitをインストール

はじめてのRoR3サポートページ「DevKitの使い方」

 

3.

Ruby本体、DevKitのインストールが終了したらいよいよRedmineのインストールに移りたいですが、その前にBundlerを導入。

Bundlerって? ・・・ひとことで言うならプラグイン等のバージョン管理マネージャってところかな?

橋本商会 » Ruby書くならBundler使え

 

4.

Redmine本体の導入に入ります。バージョンは3.0.4、Cドライブ直下に配置。

C:\redmine-3.0.4\bin な感じになります。

 

さてさて、Redmineでなぜ3.0.4を選択したかというと、3.1.0だとbundle installの段階でjsonのインストールにつまずく・・・gemのバージョン下げてみてもうまくいかず。(たぶん解決できるんだろうけども。実力不足)

3.0.4だとインストールがうまくいきました。

 

5.

お次は、SQL ServerRedmine用のDB,ユーザーを作成。

以下のコマンドを流します。

インストールガイドの中ほどにも書いてあります。

USE [master]
GO

-- Very basic DB creation
CREATE DATABASE [REDMINE]
GO

-- Creation of a login with SQL Server login/password authentication and no password expiration policy
CREATE LOGIN [REDMINE] WITH PASSWORD=N'redminepassword', DEFAULT_DATABASE=[REDMINE], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO

-- User creation using previously created login authentication
USE [REDMINE]
GO
CREATE USER [REDMINE] FOR LOGIN [REDMINE]
GO
-- User permissions set via roles
EXEC sp_addrolemember N'db_datareader', N'REDMINE'
GO
EXEC sp_addrolemember N'db_datawriter', N'REDMINE'
GO

 

Redmine側も、DBの接続をSQL Serverに変更。

C:\redmine-3.0.4\config\database.yml (exampleをリネーム) を開いて・・・

production:
adapter: sqlserver
database: redmine
dataserver: 192.168.0.40\sql2012
username: redmine
password: redminepassword

これだけ残す。SQLServerでは名前付きインスタンスを使っているので、

dataserverのキーを使用して名前付きインスタンスを指定します。

SSMS開いて、REDMINEのDBのユーザーにdb.ownerのチェックも入れましょうねー

 

6.

次に、DBを初期化するために以下のコマンドをコマンドプロンプトで。

カレントディレクトリはC:\redmine-3.0.4で。

set RAILS_ENV=production
bundle install
rake generate_secret_token

rake db:migrate

rake redmine:load_default_data

 

7.

あとは、以下のコマンドを流せばWebサーバー、WEBrickが立ち上がります。

bundle exec ruby bin/rails server webrick -e production -b 0.0.0.0

 -bでデフォルトルートを指定しないと、基本localhost only,外部から見れないようです。ここで自分がハマりました。

http://localhost:3000/にアクセスして、無事立ち上がれば成功です。

プラグインの導入が必要ないのならここで終わりです。

 

8.

お次に、knowledgeを導入します。

redmine_knowledgebase-redmine-3.0-compat

github.com

C:\redmine-3.0.4\pluginsにredmine_knowledgebaseとして放り込みます。

 

会社の環境にはGitも入っていないので、以下を参考にした二つも導入。

Redmine備忘禄: Plugin:knowledgebase

 

あとは

set RAILS_ENV=production
bundle install
rake redmine:plugins:migrate NAME=redmine_knowledgebase

で動くはず。

bundle exec ruby bin/rails server webrick -e production -b 0.0.0.0

 Webサーバーの再起動もわずれずにね。

 

9.

最後に、Issue_Templateの導入を。

akiko_pusu / redmine_issue_templates / wiki / Home — Bitbucket

ディレクトリ名をredmine_issue_templatesとして、C:\redmine-3.0.4\plugins\redmine_issue_templates のように投入。

あとはDBのmigrateを。

rake redmine:plugins:migrate RAILS_ENV=production
bundle install

 これで動くはず。必要なものが足りてないかチェックするために一応bundle Installも。

 

これで、非Gitな環境でも動くはずです。Proxy通してる会社なら、下を参考に設定しておけばgemも動くかな?

weblabo.oscasierra.net

 

以上で終わりです!

Windowserな皆さまに幸あれ。

 

といっても、闘いはこれからです。

 

いかにスムーズに使うことが当たり前になってもらうか。

誰も使おうとしないシステムなんてゴミです。

 

それならば、使うことによる面倒さよりも、使うことのメリットの偉大さを実感させればいいのです。

 

どうやって使うことのメリットの偉大さを実感させるって?

そこはほら、あなたの提案力で。

それでは。

 

 

参考:にしたサイトの皆さま

まずは公式インストールガイド

www.redmine.org

 

こことか、

yohshiy.blog.fc2.com

chorusde.hatenablog.jp

qiita.com

 

以上です。