カテゴリー: redmine Page 6 of 14

Redmineにチェックリストを追加。

海外のメンテナが作成した「Kanban Board Plugin」
そこに、ChecklistPluginがありました。その無料版インストールのメモです。

https://redmine-kanban.com/plugins/checklists

環境

  • Ubuntu 20.04
  • Redmine 4.2系
  • Apache 2.4系
  • MySQL 8.3系

さっくりとした手順

  1. DBのバックアップを取ります。
  2. プラグインを入手します。
  3. プラグインを配置します。
  4. プラグインのインストールを行います。
  5. 動作を確認します。

DBバックアップ

mysqldump -h localhost -u redmine -p --no-tablespaces --single-transaction redmine > redmine_backup.$(date +%Y%m%d).sql

いざというときに切り戻しをできるようにします。

プラグイン入手

  • 作業ディレクトリ移動
cd /hoge && pwd

任意の作業用のディレクトリに移動します。

  • ファイルのダウンロード
wget https://redmine-kanban.com/files/redmine_advanced_checklists.zip
  • ファイル展開
unzip redmine_advanced_checklists.zip
  • 所有者変更
sudo chown -R www-data:www-data redmine_advanced_checklists

プラグイン配置

  • プラグインディレクトリを配置
sudo mv redmine_advanced_checklists /var/lib/redmine/plugins/

自分の環境に合わせます。

  • 配置確認
ls -ld /var/lib/redmine/plugins/redmine_advanced_checklists

ファイルがあることを確認します。

プラグインのインストール

  • Redmine配置ディレクトリに移動
cd /var/lib/redmine
  • Gemインストール
sudo -u www-data bundle install
  • DBのマイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

インストール後の確認

  • Webサービス再起動
sudo systemctl restart apache2

その後、Redmineにアクセスして以下を確認します。

  1. Redmineにログインできること。
  2. 管理>AdvancedChecklistをクリック。

以下のようになチェックが出るので、必要に応じてチェックを入れます。(用いるチェックリストも入れます)

任意のチケットを開きます。

チェックリストという項目があります。右にある「+」をクリックします。

名前をつけて保存します。

項目を追加することができます。

これらは容易に追加できるので、作業漏れを減らすことができます。

また、並べ替えも容易です。

特徴と現段階の問題点

Pros:

  • ちょっとしたチェックリストを作ることができる。
  • 動作は比較的軽快。
  • 各チェックリストに担当者をアサインすることができる。

Cons:

無料版のため、以下は利用することはできません。

  • Kanbanと同じようにアイコンが表示されません。
  • このチェックリストは検索対象ではありません。

こちらに関しては、「参照したかどうか」の確認や、事前作業のチェックなどに使えるという印象です。

Redmineのかんばんプラグインを差し替え。

Redmineのかんばんプラグイン、
海外のメンテナが作成した「Kanban Board Plugin」
こちらの無料版を使ってみます。

https://redmine-kanban.com/plugins/kanban

環境

  • Ubuntu 20.04
  • Redmine 4.2系
  • Apache 2.4系
  • MySQL 8.3系

さっくりとした手順

  1. DBのバックアップを取ります。
  2. プラグインを入手します。
  3. プラグインを配置します。
  4. プラグインのインストールを行います。
  5. 動作を確認します。

※オプション※DBユーザーの権限変更

DBをバックアップできるようにします。

mysql -u root -p
GRANT RELOAD ON *.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT

ユーザーはRedmineのDBユーザーを選んでください。

DBバックアップ

mysqldump -h localhost -u redmine -p --no-tablespaces --single-transaction redmine > redmine_backup.$(date +%Y%m%d).sql

いざというときに切り戻しをできるようにします。

※オプション※既存プラグインの退避

HappySE LifeのKanbanプラグインを退避します。(その他のかんばんプラグインは勝手が異なります。注意してください)

cd /vaw/lib/redmine/plugin && pwd

自分の環境に合わせます。

sudo mv kanban /path/to/backup/directory/kanban_org

プラグイン退避確認

  • Webサービス再起動
sudo systemctl restart apache2.service

再起動後、以下を確認します。

  1. Redmineにアクセスできること
  2. かんばんプラグインがないこと

プラグイン入手

  • 作業ディレクトリ移動
cd /hoge && pwd

任意の作業用のディレクトリに移動します。

  • ファイルのダウンロード
wget https://redmine-kanban.com/files/redmine_kanban.zip
  • ファイル展開
unzip redmine_kanban.zip
  • 所有者変更
sudo chown -R www-data:www-data redmine_kanban

プラグイン配置

  • プラグインディレクトリを配置
sudo mv redmine_kanban /var/lib/redmine/plugins/

自分の環境に合わせます。

  • 配置確認
ls -ld /var/lib/redmine/plugins/redmine_kanban

ファイルがあることを確認します。

プラグインのインストール

  • Redmine配置ディレクトリに移動
cd /var/lib/redmine
  • Gemインストール
sudo -u www-data bundle install
  • DBのマイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

インストール後の確認

  • Webサービス再起動
sudo systemctl restart apache2

その後、Redmineにアクセスして以下を確認します。

  1. Redmineにログインできること。
  2. 上部ツールバーに「Boards」というメニューができていること。
  3. このメニューをクリックして、以下のようにチケット一覧がかんばんとして配置されていること。

特徴と現段階の問題点

Pros:

  • 基本的なかんばんシステムは持っています。ドラッグ&ドロップでチケットの進行を可視化できます。
  • かんばん上のチケットをクリックすることで、概要の閲覧が可能です。

Cons:

  • 上記でわかるように、割り当てられていないステータスは文字が上下逆になっています。
  • また、アバターアイコンが見えません。

欠点があるものの、

  • チケットがモーダルで表示される
  • チケットのリンクもコピーできる
  • 詳細は別タブで開ける
  • Ajaxにより軽快な動作が行える

など、利点は大きいです。

Redmineにヘッダ画像を付与。(Redmine View Customizeを利用したCSS編集)

RedmineのView Customize Pluginを利用して、ちょっとだけサイトを装飾してみました。

やったこと

このように、Redmineサイトのヘッダに画像を入れました。

https://atelier.reisalin.com/

前提

画像ロゴを用意します。

個人/私的利用のため、Bing Image Creatorにて生成しています。

用意した後、適切な箇所にアップロードします。(筆者はDMSFプラグインでアップロードしています)

表示を変更していきます。

画面遷移

  1. Redmineサイトに管理者権限でログインします。
  2. 管理>表示のカスタマイズに進みます。
  3. 「新しい表示のカスタマイズ」をクリックします。

設定

以下の通り設定します。

  • パスのパターン:
  • 空白
  • プロジェクトのパターン:
  • 空白
  • 挿入位置:
  • 全ページのヘッダ
  • 種別
  • CSS
  • コード
#header {
background-image: url("画像への適切なパス");
background-repeat: no-repeat;
background-size: contain;
background-position: 80% center;
height: 100px; 
/* 位置・高さはサイトやテーマに合わせてください */
}

設定後、「有効」にチェックを入れて「作成」をクリックします。

表示を確認します。

ヘッダに設定した画像が出てくれば成功です。

Redmineに「どこでもポップアップ」実装。(View_Customize_Pluginのサンプルコード)

非常に便利なサンプルがあったので導入しました。

参照先

https://github.com/sk-ys/redmine-view-customize-scripts/blob/master/html/popup_anywhere/popup_anywhere.md

前提

  • Redmineの「View_Customize_Plugin」が稼働していることが前提です。
  • Redmine 4.2でも動作を確認しました。

インストール方法:

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/31

挙動

このようなチケット一覧で、任意のリンクにカーソルを合わせて「Ctrl+クリック」するだけ。

このようにポップアップ。

連続するチケットに対しても、ブラウザの戻る/進むをやらずとも閲覧が可能になります。

導入方法

  1. 管理者権限でRedmineにログインします。
  2. 管理>表示のカスタマイズ>新しい表示のカスタマイズをクリックします。
  3. 以下を設定していきます。

設定後、「有効」にチェックを入れて保存。

備考

このredmine_shortcutsとは凄まじいシナジーを誇ります。

ポップアップ→「E」で編集することで、ブラウザを遷移させることなくチケットのちょっとした編集や追記が可能になります。

Redmineプラグイン:knowledgebaseでのリンクの張り方。

概要

Redmineプラグイン『knowledgebase』に書いた記事を他のチケットで参照したいときはままあります。

そんなときに使えるTIPSです。

Wiki Macro

https://github.com/alexbevi/redmine_knowledgebase

githubのレポジトリにリンクの張り方が書かれていました。

特記事項

  • <article_id>は http(s)://redmineのドメイン/プロジェクト識別子/knowledgebase/articles の後に書かれている数字です。
    • この数字は全プロジェクトで一意の数字が割り当てられるので、他プロジェクトで書かれたナレッジを参照できます。
    • そのプロジェクトへの閲覧権限がない場合はその限りではありません。
  • <category_id>は http(s)://redmineのドメイン/プロジェクト識別子/categories/ の後に書かれている数字です。
    • articleと同様、全プロジェクトで一意の数字が割り当てられます。
  • <>は外して、数字のみを入力します。

マクロ一覧

  • {{article(<article_id>)}}
    • 「kb#:記事名」でリンクをレンダリングします。(例:kb#1:障害手順書)
  • {{kb(<article_id>)}}
  • {{article_id(<article_id>)}}
    • 「kb#」 でリンクをレンダリングします。 (例: kb#1)
  • {{category(<category_id>)}}
    • 「カテゴリー名」でリンクをレンダリングします。

使用した例

https://atelier.reisalin.com/projects/ryza3

こちらの「概要」のように、「実績一覧」にナレッジベースの記事のリンクがあるという状態。

これで、連携を取りやすくなりました。

6周目の記録。(Redmineの関連チケットのリンク)

ここにきて、ゲーム『ライザのアトリエ3』の

等をRedmineのチケットとして管理した異議が出てきました。

6周目の課題「ノーマルクエストの記録」

今回はノーマルクエストがどのタイミングで発生し、どこで受諾できるかを書いています。

ここで役立つのが、Redmineに標準で備わっている「関連するチケット」機能。

このように、「関連している」チケットに、発行済みの見聞録やらランドマークへのチケット番号を記載して追加するだけ。

こうすることで、ランドマーク(あるいはその周辺)で発生するクエスト/入手できる見聞録などを可視化。後の集会の効率化を図ります。しかも、どちらか片方に「関連している」を貼れば、もう片方へはしなくていいのも利点です。

同一サーバ内でRedmineのドメインを変更するときの設定。(apacheバーチャルファイル編集)

ちょっとした事情で、既に稼働しているRedmineのドメインを変更しました。以下、作業メモです。

環境

  • Ubuntu 20.04
  • Apache 2.4系
  • Redmine 4.2系

前提

  • apacheのバーチャルサイトでRedmineを設定していること。
  • 新しく割り当てるドメインが、稼働サーバと同じであること。
  • 新しいドメインの適切な証明書を取得し、所定の箇所に格納していること。

ここでは、aaa.hoge.comをbbb.hoge.comに変える手順を行います。

さっくりとした手順

  1. バーチャルサイトの設定ファイルをコピーします。(aaa→bbb)
  2. 新たなドメインの設定ファイルを編集します。
  3. 以前の設定ファイルを無効化します。
  4. 新たな設定ファイルを有効化します。
  5. apacheの再起動を行います。
  6. Redmineの設定変更を行います。

手順

設定ファイルコピー

cd /etc/apache2/sites-available && pwd
# 自分の環境に合わせます。

sudo cp -pi aaa.hoge.com.conf bbb.hoge.com.conf
# 設定ファイルは自身の環境に合わせます。

ファイル編集

以下の差分の通り修正します。信仰・教義に沿ったエディタで編集してください。

 <VirtualHost _default_:80>
-servername aaa.hoge.com
+servername bbb.hoge.com

 <VirtualHost _default_:443>
-    servername aaa.hoge.com
+    servername bbb.hoge.com

-SSLCertificateFile /etc/certs/aaa.hoge.com.crt
-SSLCertificateKeyFile /etc/private/aaa.hoge.com.key
+SSLCertificateFile /etc/certs/bbb.hoge.com.crt
+SSLCertificateKeyFile /etc/private/bbb.hoge.com.key
# 証明書と秘密鍵の適切な格納場所を指定します。
# ホスト名のみ変更し、ワイルドカード証明書を利用するのであれば証明書の部分は修正する必要はありません。

変更前設定ファイルの無効化

sudo a2dissite aaa.hoge.com.conf
# サービス再起動を求められますが、最後にまとめて行います。

変更後設定ファイルの有効化

sudo a2ensite bbb.hoge.com.conf

サービス再起動

  • 設定ファイル構文チェック
sudo apache2ctl configtest
# Syntax OKを確認します。
  • サービス再起動
sudo systemctl restart apache2.service

変更後の設定変更

  1. ブラウザで、変更後のドメインにアクセスします。
  2. 管理者権限でログインします。
    • ドメイン以外の設定は変えていないので、ログインは行えます。
    • ビルトインの2段階認証を利用している場合変更前のワンタイムパスワードを利用してください。
  3. 設定→管理に移動します。
  4. 概要タブのホスト名とパスを変更後のものに合わせます。

Redmineの不正アクセス対策。(ufwと二段階認証)

概要

AWS Lightsailに構築しているRedmine。 不審なアクセスがあったので対応を行いました。

アクセスの内容

とてもシンプルに、チケットの新規発行画面に何回もアクセスしているというもの。

正規のリクエストなのでWAFでブロックされません。(解析システム:matomoで検知した次第です)

そもそも自分しかアカウントを用意していないため、この時点で不正アクセスの兆候だと判断。以下、対処を行います。

ufwでの処理

  • ufwによるブロック
sudo ufw deny from IPアドレス
# より確実を期すためにIPアドレスのネットワークアドレスを指定しました (xxx.xxx.xxx.0/24)
  • 設定確認
sudo ufw status numbered
# Anywhere DENY IN 上記で指定したIP/ネットワークアドレスを確認します
  • 設定反映
sudo ufw reload
# ファイアウォールを再読込しましたと出れば反映完了です

これでひとまず不審なアクセス元は遮断。

Redmineログイン強化

筆者が用いているRedmine4.2は二段階認証が標準で備わっていますので、それを有効化します。

  1. Redmineに管理者権限でログインします。
  2. 万一に備えて別のブラウザでもログインしっぱなしにします。
  3. 管理>設定>認証に移動します。
  4. 二段階認証を「必須」にして保存します。

その後、(別ブラウザでログインしたまま)Redmineにログイン。

後は二段階認証プロセス(Google認証システムを用いました)で指示に従ってQRコードを読み込み、生成されたコードを読み込むだけ。

ひとまず、これでID/PWによるログインに加えて認証システムの二段階で不正アクセスの被害を抑えます。

Redmineによる旅の準備とフィードバック。

Redmineコメントのテンプレート

個人的に用いているRedmine。一つのチケットにコメントを連ねていくことで、準備や事前情報などを系統立てて表示させることができます。

そこで「携行品はある程度傾向があるから、テンプレートプラグインで管理できそうだ」

と、こういう風にコメントテンプレートで管理。

しかし、ここに落とし穴がありました。

想定の漏れ

これは家族に言われて気づいたことです。

  • 東京都心と山間は気温がまるで違うこと
  • 温泉の湯冷め

などを全く考慮していませんでした。思い直してリパッキング。

この状況もチケットに書き足していきます。

そうして、旅の途上での出来事も次々に書いていき、

デブリーフィング

もチケット自体に記載。

こうして、旅自体を振り返りながら

  • 何をミスっていたか
  • 次はどうすれば良いか
  • 印象に残っていたことは

なども気軽に書けるので、そこは、Redmineを運用して良かったと思ったわけで。

Redmine Addtional Tagsによる一括タグ付け。

こちらを更に発展させました。

https://atelier.reisalin.com/projects/ryza3/issues

こうして、ゲーム『ライザのアトリエ3』の見聞録などの情報をチケットかできたものの、もっと付与したい情報がありました。

「タグ付け」による分類です。

既にあるプラグイン「Additonal Tags」でどうにかなりました。(というよりも使っている内に気づきました)

こんな形のタグ付けされていないチケット。

全て選択して

右クリックから「tags」を選択。

付与したいタグを入れていき、「追加」をクリック。

追加後、しっかりとチケットにタグが付与されていることを確認。

これで、諸々の整理がもっと楽になります。

Page 6 of 14

Powered by WordPress & Theme by Anders Norén