Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

講演2 実例に基づくRedmine管理者入門 r2

9,439 views

Published on

2015/11/28 Redmine.tokyo presentation

Published in: Engineering
  • Be the first to comment

講演2 実例に基づくRedmine管理者入門 r2

  1. 1. 2015年11月28日 松谷 秀久(@mattani)
  2. 2.  カスタマイズ事例とノウハウ  Excelからのインポート  Redmine+Subversionを使いこなそう いずれも、ちょっとしたコツが必要です。 そのコツをお伝えします。
  3. 3.  ハンドルネーム @mattani  所属 NTTコムウェア(株)  担当業務 ◦ あるシステムの運用担当(SE)でRedmine管理者  Redmine歴 ◦ 約3年 ◦ Bitnami Redmineを利用。(今使っているのは3.0.3) ◦ ユーザ数80名。プロジェクト数 10~15 ◦ タスク管理、課題管理、インシデント管理、検証設備利用申請管理、工事管理 ◦ ヘルプデスク問合せ管理、脆弱性管理 他  利用しているプラグイン ◦ clipboard_image_paste ◦ redmine_comment_only ◦ redmine_importer ◦ redmine_information ◦ redmine_issue_templates 他
  4. 4.  私が行ったインシデント管理のカスタマイズ事例を ご紹介します  インシデントとは ◦ 商用システムで発生した申告や監視アラーム事象のこと ◦ すべてが問題とは限らないが、適切に対処しないと お客様クレームにつながります  Excelで管理すると・・・ ◦ だれがどこを変えたかわからない ◦ だれが何を判断して完了にしたのかわからない ◦ 更新頻度が遅くなり、書き忘れも多い
  5. 5.  状態遷移図 ◦ 最初に管理する対象の状態遷移図を書きます 新規 調査中 対処待ち 完了 調査着手 調査完了 対処完了 対処不要 再対処要 再調査要 対応が不十分な 場合を追加 完了 破棄 リーダが確認 リーダが確認 完了待ち リーダの確認を追加 完了の前に完了待ちを追加 保留 保留/保留解除 保留/保留解除 を追加 状態遷移図を書いた結果、インシデントの管理には「新規」、 「調査中」、「対処待ち」、「完了待ち」、「完了」、「破棄」、 「保留」の7つのステータスが必要
  6. 6.  チケットのステータス設定 ◦ 作成した状態遷移図に従ってステータスを設定します 既存のステータスで使わないも のは削除してもOK (使っているものは消さない) 必要に応じてステータスを作成 設定後は こんな感じ
  7. 7.  トラッカー設定 ◦ トラッカーはチケットの大分類 ◦ トラッカー毎に、ワークフローの定義や使用するカスタ ムフィールドを変えられる トラッカー「故障」では、 親チケット、予定工数を使わない のでチェックしない インシデント管理プロジェクトを選択 まだプロジェクトを作っていない場合は、 後で設定してもよい インシデント管理のワークフロー を識別するトラッカー「故障」を 作ります
  8. 8.  ワークフロー設定 ◦ 管理者はどのステータス間でも遷移できるようにする 管理者は、どんなス テータスにでも変更 できるようにします
  9. 9.  ワークフロー設定 ◦ 報告者は「完了」「破棄」はできないようにする 「完了」「破棄」にできな いようにします 「新規」にできる必要はないの で、チェックを外します
  10. 10.  カスタムフィールド設定 ◦ チケットに追加したいカスタムフィールドを追加します テキストの書式をチェック するとフィールド中でWiki フォーマットを使用可能 チケット一覧のフィルタと して使用する場合チェック 検索対象にしたい場合のみ チェック (性能低下につながるので 必要な場合のみ)
  11. 11.  よくある質問 プロジェクトでカスタムフィールドにチェック入れたのに チケット入力画面に表示されない  回答 トラッカーのカスタムフィールドもチェック入れたか? プロジェクトの設定で、使用するカ スタムフィールドにチェック トラッカーの設定でも、使用するカ スタムフィールドにチェック
  12. 12.  追加したカスタムフィールド例 カスタムフィールドを増やすのは、Excelでいうとカラムを増やすイメージ。 増やしすぎると煩雑なので、基本機能の注記も有効活用を! 名称 書式 テキストの書式 フィルタとして使用 検索対象 意味 申告者 テキスト - レ レ 申告者名 サービス影響有無 リスト - レ - サービス影響の有無 影響内容 長いテキスト レ レ レ 影響内容 影響ゲスト 長いテキスト レ レ レ 影響をうけるゲスト エスカレ有無 リスト - レ - 一次受付完結かエスカレしたか センタ名 リスト - レ - インシデントの発生したセンタ 調査・対応状況 長いテキスト レ レ レ 調査・対応状況 結果 長いテキスト レ レ レ 調査状況・結果 対処内容 長いテキスト レ レ レ 対処内容 備考 長いテキスト レ レ レ メモ
  13. 13.  親プロジェクトの設定 親プロジェクトの識別子 は後で作成するリポジト リと同じ名前にします 使わないモジュールは オフにします 使用するカスタムフィー ルドを選択します 親プロジェクトにチケッ トを発行できないように するためオフにします。
  14. 14.  子プロジェクトの設定 使わないモジュールはオフにします (リポジトリは親プロジェクトで管理 するのでオフ) プロダクト全体の子プロジェクトに しています 使用するカスタムフィールドをチェッ クします 親プロジェクトのメン バを引き継ぎます
  15. 15.  バージョンとロードマップ 新しいバージョン を作成すると・・ ロードマップも セットで作られます 親プロジェクトで作成 して、子プロジェクト に共有できます バージョン・ロード マップのWikiページに は、そのバージョンの 体制、計画などを記述 私の場合、四半期毎に インシデントの分析を するので四半期に対応 したバージョンを作っ ています
  16. 16.  グループとユーザ おすすめできない例 課題管理PJ Aさん(管理者) Bさん(報告者) Aさん(管理者) Bさん(報告者) Aさん(管理者) Bさん(報告者) Cさん(報告者)Cさん(報告者) Cさん(報告者) ・グループを使っていない ・子プロジェクトでユーザの継承を行っていない →ユーザと権限の管理が煩雑になる インシデント管理PJ 〇〇プロジェクト 課題管理PJインシデント管理PJ Aさん ○○_リーダG (管理者) ○○_運用G (報告者) Bさん Cさん 親プロジェクト の ユーザを継承 親プロジェクト の ユーザを継承 • グループを使うとまとめてユーザを登録できる • 権限の設定変更も容易 • 親プロジェクトのユーザ継承を行うと管理が楽 おすすめ例 〇〇プロジェクト
  17. 17.  まとめ ◦ まず管理対象を明確にして状態遷移図を書く ◦ 状態遷移図でわかったステータスを登録 ◦ ワークフローを識別するトラッカーを作成  私の経験上、トラッカー作り過ぎはNG(1~2/PJ) ◦ ワークフローは管理者用と報告者用  管理者は制限なし、報告者は必要最小限の制限をつける ◦ 親プロジェクトは子プロジェクトを束ねる  親プロジェクトにトラッカーは登録しない  リポジトリは親プロジェクトで作成 ◦ バージョンとロードマップはセットで作られる  見通しが良くなるのでなるべく作成する ◦ グループ作成で管理を省力化する
  18. 18.  現在のRedmineでは、インポートはプラグインが 必要です。 ◦ 次リリースされるRedmine3.2.0では、 標準機能でCSVインポートがサポートされるかも・・・  インポートプラグインは開発が活発です。 ◦ Redmine.JPの紹介(※1)によると、※2が近年活発に更新 されている、と紹介されていますが、こちらはまだ Redmine3.0に対応していないようです。 ◦ ※2からフォークした※3が2015/4月以降も活発に更新 されています。Redmine3.0以降に対応しています。 ※1 http://redmine.jp/faq/issue/csv/ ※2 https://github.com/zh/redmine_importer ※3 https://github.com/stateio/redmine_importer 以前はInternal Errorが良く出 て困った。 最近は安心。
  19. 19.  Redmine_importerプラグインのインストール ◦ Githubから、zipファイルをダウンロードして、redmineの pluginsフォルダに展開します。 名前はredmine_importerというフォルダ名にします。  bitnamiの場合 にredmine_importerを展開します。 ◦ 以下のコマンドでDBのマイグレーションを行います。 ◦ Redmineを再起動します。 ◦ Redmineの管理メニュー→プロジェクト→設定→モジュールか ら、モジュールを有効にします。 ◦ 管理メニュー→情報で、インストールされていることを確認。  インストール詳細はプラグインの指示に従ってくださ い。 bundle exec rake redmine:plugins:migrate RAILS_ENV=production /opt/redmine-X.X.X-X/apps/redmine/htdocs/plugins/
  20. 20.  Excelでインポート用データを準備 ◦ そのファイルをCSV形式で保存します 担当者を読み込む場合は、RedmineのIDにす る。 →上記の×は匿名ユーザになる 日付を読み込む場合は、YYYY-MM-DD形式 でないと読み込めない場合も。 (最近は改善された) × × 〇 × △ 〇 〇 × ×
  21. 21.  Redmineにインポート ◦ プロジェクト→インポートからアップロードします SJISを選択 作成したExcelファイルを選択
  22. 22.  各列のフィールドとの対応を指定します。 ◦ ExcelとRedmineのカラム名が同じ場合はデフォルトで対 応されています。 必須フィールドは必ず指定すること。 例)題名や必須にしたカスタムフィールド いろいろと読み込み時のオプションを指定できます 「未登録のユーザーは匿名ユーザーに~」を有効に しないと、未登録のユーザーがあるとInternal Errorが 発生します Excelのカラム情報 Redmineのカラム情 報
  23. 23.  インポート結果が表示されます ◦ 正しく読み込めた行数、エラーメッセージとそれに対応 する行の情報が表示されます 正しく処理された行数を表示 エラーメッセージを表示 失敗した行の情報
  24. 24.  まとめ ◦ 現在はRedmineのインポートはプラグインが必要 ◦ プラグインは開発が活発なので、最新のフォークを確認 してインストールする必要がある ◦ 担当者をインポートする場合は、Redmine IDを指定
  25. 25.  なぜgitでなくてSubversion? 集中型 分散型
  26. 26.  なぜgitでなくてSubversion? チーム全体での成果管理 チーム全体の成果管理 + 個人の構成管理 構成管理 対象 使用 ディスク量 集中リポジトリ:大 ローカルエリア:小~大 集中リポジトリ:大 ローカルリポジトリ:大 コミット 方法 集中リポジトリへのコミット ローカルコミットでテストし 集中リポジトリにコミット 私の場合、管理対象は作成資料や運用マニュアル(バイナリファイル) →ファイル間のマージはしないし、個人環境でのテストをする必要もない →ローカル領域にリポジトリを作る必要性がない。 →Subversionを選択
  27. 27.  RedmineとSubversionの認証連携について ◦ 認証連携させないと、Redmineのユーザが増えるたびに、 リポジトリのユーザ管理も必要。 ◦ 試行錯誤したノウハウをr-labsのWikiにまとめました。
  28. 28.  Pre-commit hook ◦ Subversionのコミットコメントに 「refs: #チケット番号」がないとコミット不可 ◦ これにより、「No Ticket, No work」を実現する ◦ カスタマイズ例は、こちらのサイト参照  Post-commit hook ◦ Post-commitで、Subversionのコミットと同時にRedmineに 反映する ◦ 「リポジトリ」タブをクリックしないと取り込まれない ◦ カスタマイズ例は、こちらのサイト参照
  29. 29.  まとめ ◦ ユーザ管理を楽にするために、RedmineとSubversionの認 証連携を設定 ◦ No Ticket, No workを実現する手段として、 Pre-commit hookを活用 ◦ Subversionのコミットと同時にRedmineにデータを反映す るために、Post-commit hookを活用
  30. 30.  カスタマイズ事例とノウハウ  Excelからのインポート  Redmine+Subversionを使いこなそう 参考にしていただければ幸いです。 ありがとうございました。

×