冥冥乃志

ソフトウェア開発会社でチームマネージャをしているエンジニアの雑記。アウトプットは少なめです。

follow us in feedly

JIRAの評価が終わったのでデータベースを外部化

公式の対応プラットフォームは見よう、本当に。

JIRA アプリケーションを PostgreSQL に接続する - アトラシアン製品ドキュメント

このあたりを参考に、データベースの移行をしていました。

できればjiraもdockerで動かしたいけど、とりあえずデータベースのみdockerでやってみようと思って、以下の様にデータベース立ち上げてデータベースの移行をやってみました。

docker run --name jira-postgres -t -i -v /root/jira-data/:/var/lib/postgresql/data/ -p 5432:5432 -e POSTGRES_PASSWORD=**** postgres

で、 <jira-install-directory>/bin/config.sh で接続情報を変えてみたら、接続テストは通るけどJIRAが起動しない、何かNullPointerExceptionで落ちてる。表示されるエラー画面がそもそもJIRAのエラー画面ですらなくてTomcatのエラー画面っぽかったので、ちょっとどうしていいかわからず。とりあえずWebのウィザード使ってみようと思って /var/atlassian/application-data/jira/dbconfig.xml を削除、JIRAを再起動してアクセスしてみました。で、やっぱりうまくいかないんですね。インポートでエラーになります。

java.lang.RuntimeException: Could not get unique fields for table 'AO_21D670_WHITELIST_RULES

どうも、あるテーブルのユニークフィールドが取得できてない模様。Atlassianのサポートに連絡して、色々と情報を集めたりしながらやりとりをしていましたが、なかなか解決せずげんなりしていたところで、ふと気づきました。

サポートバージョンじゃなくね?

PostgreSQLのイメージはlatest使っちゃダメ、という話でした。

Supported platforms - Atlassian Documentation

latestで引っ張ってくるとPostgreSQL 9.6系です。以下の様に9.4系最新を指定してデータベースを立ち上げ直したらインポートできました。

docker run --name jira-postgres -t -i -v /root/jira-data/:/var/lib/postgresql/data/ -p 5432:5432 -e POSTGRES_PASSWORD=**** postgres:9.4

こういう時にカジュアルに環境を切り替えられるので、dockerは便利ですね。

2016年10月の読書メモ

ペルソナ5をやりたいんだが、ハードの調達は相変わらずめどが立ちません。おかげさまで読書は捗っております。

今月の読書量

試してみたいことがあって、少しコードを書く時間をとったりもしていたのでここ数ヶ月の中では少なめですね。10冊です。漫画もそれなりに入っているので、多い方とは言えないと思います。

あなたの人生の物語

あなたの人生の物語 (ハヤカワ文庫SF)

あなたの人生の物語 (ハヤカワ文庫SF)

ハーレムの闘う本屋

ハーレムの闘う本屋

ハーレムの闘う本屋

ビビビ・ビバップ

ビビビ・ビ・バップ

ビビビ・ビ・バップ

3月のライオン 1巻

3月のライオン (1) (ジェッツコミックス)

3月のライオン (1) (ジェッツコミックス)

AIの遺電子 3巻

AIの遺電子 3 (少年チャンピオン・コミックス)

AIの遺電子 3 (少年チャンピオン・コミックス)

汝、コンピュータの夢

クジラの子らは砂上に歌う 8巻

コンパイルL

コンパイルL

コンパイルL

MM9

MM9 (創元SF文庫 )

MM9 (創元SF文庫 )

バーナード嬢曰く。 3巻

カンバンによるアジャイルプロジェクトマネジメント

今すぐ実践!  カンバンによるアジャイルプロジェクトマネジメント

今すぐ実践! カンバンによるアジャイルプロジェクトマネジメント

今月のベスト本

2冊を除けばどれも良かったので迷うところですが、「ハーレムの闘う本屋」をあげたいと思います。自分のやるべきことを見つけた人というのは強いですね。

新橋会10月度定例会議事録

各位

お疲れ様です、あべです。

下記、議事録を記載します。ご査収ください。

前回のおさらい

mao-instantlife.hatenablog.com

開催概要

oka-shimbashi-meetup.connpass.com

参加者

  • たけとも(@soudai1025)
  • こにしさん(@ore_public)
  • しばせんせ(@bleu48)
  • ハーレムさん(@mako_wis)
  • あべ

議事録

主なトピック

Confidential

議事メモ

Confidential

あ、次のAtlassian User Group 中国地方(岡山)のコンテンツ方向性が決まりました。同時開催でプロダクトオーナー祭りの岡山サテライトをしようかな、という企画になってます。

今後のタスク

開催したくなったらイベント立てましょう。

次回

適当に。

4月からの生活習慣変更が半年継続したので経過を記録

mao-instantlife.hatenablog.com

この記録からまた3か月ほど経ちました。つまりは半年。あれほどどんなスポーツもジムも続かなかった自分を思うにつけて、よく続くなあ、と自画自賛してやりたくなる継続期間です。

生活習慣

この時からは変わっていません。慣れてきたなと感じたらトレーニングの1セット当たりの回数を少しずつ増やしたり、姿勢が崩れてると感じたら回数減らして鏡で姿勢を見るだけにしておいたりしたくらいです。

食生活についても糖質制限は基本継続ですが、ガッテン見てから朝食の時にチョコレートを2欠け食べるようにしました。ただし効果は不明。太ったり体脂肪率が上がったりはしていないので、今のところは問題ないかと。

定量変化

日付 体重 体脂肪率 筋肉量
4/24 65.55 kg 18.9 % 50.4 kg
7/23 64.25 kg 17.0 % 50.6 kg
10/19 63.35 kg 17.4% 49.6 kg

筋肉が落ちた感じになってますね。直近で飲み会や外食が多かったので、このところはちょっと増減が激しかったです。体重は目標に近づいているので、62kg台目指して頑張りたいところ(と言いつつ明日と明後日は新橋会とSa・Ga Nightだったりする)。

継続について

こういうのって大体続かないか、「目標達成わーい」とか言ってやめてしまってリバウンドすることが頭痛のタネだったりします。が、私は今の所その両方とも来る気配はありません。

まず単純な話として、リバウンドしたくなければ続けていけばいいんですよ。イレギュラーは許容しつつ。継続するにはそれをしやすいようなお膳立ては必要ですね。例えば私の場合は、朝確実にそのための時間が取れるようなタイムスケジュールにしてますし、読書やコードを書く時間とトレーニングの境目はアラームをかけて時間がくぎれるように工夫しています。

何か今までと違う結果が欲しければ、やはり今までと違うことをやって、それを習慣化しないと維持できない。ということですな。

JIRAで社内テストから課題を収集する

ちょっとした準備です。

社内テスト用のステージング環境を公開して触ってもらうことはよくやりますね。MallNaviでもプロダクトマネージャの受け入れテストだけでなく、ステージングを使ってもらって、より広いユーザの意見として社内から課題を集めて生かしていきたいわけです *1 。これらを効率的に、なるべく手間なく集めるための仕掛けをJIRAで設定してみました。

やりたいこと

  • ステージング環境使いながらシームレスに課題を作れて
  • ログインせずとも課題の検索や参照ができること

課題の参照や検索は、課題を上げるにしてもダブりとかないよね?と気にしてくれる人がいるので、その方の好意に答えるためのものです。ありがたや。

AsIs

redmineに課題作成用のユーザとサブプロジェクトを作って、ユーザ名とパスワードを社内に向けて公開しています。セキュリティ的にもあまりやるべきことじゃないですね。ちなみに、匿名ユーザのアクセス自体はredmineでもできるので、今回対応したのはJIRAじゃないとできないことばかり、というわけではありません。単純に、匿名ユーザの存在を忘れてスタート切ってしまっただけです。

匿名アクセスと課題コレクター

で、今回は上記の要件を匿名アクセスと課題コレクターを使って実現します。

JIRAでの匿名アクセス

まずは課題の参照について。匿名ユーザがプロジェクトの課題を参照できるようにします。

匿名アクセス自体は公式ドキュメントにも書いてある基本的なものです。

プロジェクトに匿名アクセスを許可する - アトラシアン製品ドキュメント

注意すべき点としては、プロジェクトスキームくらいですね。既定のスキームを使っている場合は、スキームをコピーして適用し直してから権限を変更したほうがいいでしょう。既定のスキームを変更してしまうと、プロジェクト作成時に必ず適用されてしまうため、社内でもごく限られた人が参照するプロジェクトだとかも同様に参照できるようになってしまいます。既定の権限スキームはプロジェクトロールを基本に割と狭く作って、プロジェクトごとにコピーして適用する、という形にしたほうが運用がうまくいくと思います。

課題コレクター

そして、ステージング環境使いながらシームレスに課題を作れるようにします。これはredmineの基本機能では該当するやつが見当たらなかったんですよね。JIRAの課題コレクターという機能を使います。

課題コレクターとは、プロジェクトの課題作成を外部のサイトで行うための埋め込みフォームを作るための機能です。埋め込みフォームはHTMLかjavascriptを選択することができます。プロジェクトごとに複数の課題コレクターを作ることができます。

これも公式ドキュメントに書いてある基本的な機能です。

課題コレクターの利用 - アトラシアン製品ドキュメント

課題コレクターにはコレクターの報告者を指定する必要があります。プロジェクト内のユーザを指定してもいいのですが、プロジェクトから外れたときなど面倒なので、専用のユーザを作り、課題作成と割り当て権限だけ与えて *2 コレクターに設定しています。

課題セキュリティスキームの検討

課題セキュリティスキームは、課題の種類とプロジェクトロールなどを元に課題に対するアクセス権限をコントロールするための機能です。より、経営に近い意思決定やプロジェクト内で見せたくないもの、課題コレクターを顧客向けに公開する場合は顧客に見せたくないものを設定するといいのでしょうが、今回はまだそこまで隠す情報はないので、設定を見送りました。

なんか組み込みの機能でできた

最初、ServiceDeskを導入しようか、という話をしていたんですよ。やりたいことだけ考えるとJIRAの組み込み機能だけでできたので良かったですね。

今後

Confluenceの導入検討を進めているので、課題状況のレポートなんかがそっちで出せるといいのかなあ、とか妄想中です。

広告

こんな感じで、情報集約がスムーズに進むように整備しながら開発を進めております。まだまだ成長途中のサービスではありますが、MallNaviをよろしくお願いいたします。

mall-navi.com

*1:必ずしもターゲットではないので、対応するかどうかはプロダクトマネージャ判断

*2:これも全プロジェクト共通というわけではないので権限スキームは分けておいたほうがいい