Redmine」タグアーカイブ

辰年

気付けばもう2月も終盤

今年もよろしくお願いします。

というか、ブログというコンテンツスタイルもオワコンなんでしょうかね。
「書くマインド」がまったく向かないし、存在を忘れてしまうレベル。
そんな感じで、今まで放置していた言い訳をゴニョゴニョ。

自分もネット利用の環境がかなり変化してきました。
今年の抱負(というか年間タスク?)も兼ねて、書き残し。

Redmine よ、今までありがとう

仕事柄、Redmine でタスク管理とか工程全体を俯瞰できるのが良いかと思い導入したのですが、個人で利用するにはオーバースペックなのと、機能の陳腐化は否めない。

まぁプロジェクト管理者とかであれば、使うのだろうけど、その場合は上流企業で Backlog とか導入して貰うのでよいのではないかと思うし。
(てか、プロジェクト統括する企業とか事業者が、自分でカネ払ってやってもらいたい。プロジェクト単体で導入するとか、カネの無駄だし構築コストがかかりすぎる。)

でもって Notion をここ数年で導入したので、個人のタスク管理であれば、その中のタスク管理テンプレートを使えば良いのではのレベル。

Git との連携だって、GitHubとかGitLabを使えば、全然、事足りるうぇわけだし。

なので Redmine は目下、ターミネーションにむけて作業中。
(稼働中のタスクとWiki を Notion に移動すれば、ほぼ終わり。)

ちなみに個人利用していた AWS も、現状 Redmine にしか使ってないので、ターミネーションすれば年間コストも下げられる(まぁ1万弱だけど)。

ちなみに仕事用に構築した Web サイトも、Notion に移そうかと考え中。

Notion は神

個人的なメモとかタスク管理は、全部 Notion で良い気がする。
画像も貼れるし、ちょっとした表なんかも書けるし、リッチテキストエディタとしては十分すぎる。
セキュリティも、2段階認証があって、普通にしっかりしてる。

とはいえセキュリティは、機能以前に、根本的には利用者自身のリテラシーにかかっているんだけども。
いくら機能が良くても、利用者自身とかがゴミだと、猫に小判ではある。

1ページに書くテキストとか画像やテーブルの数とかレイアウトなど、注意すべき点がいくつかあるけど、それが逆にレスポンシブとかパフォーマンスとかを気にする良い刺激になる。

テキスト検索できるのも良い。
今の自分には「丁度よいアプリ」な気がする。

老化が忍び寄る。。

人生折り返し地点を過ぎ、だんだんと老化を感じているのですが、明らかに作業のパフォーマンスが低下してきている。
てか思考能力の低下がヤバい。複数個の並行作業が急激にできなくなってくるのをヒシヒシと感じている。

まぁ確かに、子供を養うとか色々と別のタスクが増えたからというのもあるんだろうけど、それ以上にパフォーマンスの低下はどうしても感じてしまう。
それが、IT作業にも影響してて、本業も然りだけども、利用するソフトなども変化をしてきている。

まぁ結論としては、色々なソフトを使い分けるよりかは、ある程度まとまっているものを使う感じ。
ただ、この辺りはソフトの進化もあって使い勝手は良くなってきているので「より良い物をチョイスする」というポジティブ思考で。

Redmineと別サーバの git リポジトリを連携する

ここでは概念的な話のみ。
実際の設定方法等については、各自でググッてください。

あと、これは昔話です。Redmine のバージョンは若干古いです。
最新の Redmine や Git では状況が異なる可能性あり。

「Redmine や Git には余計な手を加えず、Redmine や Git の標準機能だけで連携を実現する方法を導き出したらこうなった」というお話です。

下調べ

もしかしたら最新の Redmine は、こんな面倒なことしなくても、標準機能だけで別サーバの Git リポジトリを直接参照できるかもしれない。
でも、自分が環境構築した当時、調べてみた限りではこんな状態だった。

プラグインでの連携

そのプラグイン自体が最新だか何だかよく判らなかったし、情報が少ないし、よくわかんなかった。
プラグインがメンテされる可能性も未知数。

トリッキーな方法で連携

Redmine のプログラムソース弄ってなんたらとか、ディレクトリをマウントしてどうたらとか。
文字通りトリッキーな方法すぎて、正直メンド臭そうだった。

制約

あと、命題を実現するうえでの制約が以下。

Redmine の制約

標準的なパッケージ(プラグインとか入れない状態)では、 Redmine と同一のサーバ上にある Git リポジトリとしか連携できない。

前述の通り、絶対にできないわけではない。
プラグインの利用とか色々細々と弄れば、異なるサーバ間でも連携できるかも知れない。
あくまで、Git と Redmine 本体が提供している標準的な機能だけで可能な設定では実現できないという話

当方の運用上の制約

Git リポジトリを管理しているサーバは、Redmine とは別のサーバ

Redmine 搭載のサーバと Git リポジトリを管理しているサーバは、それぞれ公開の場所も、管理上のポリシーも異なる。
そのため Redmine サーバを、Git リポジトリとして一緒して運用する(開発者などに公開して操作させる)ことができない。

でも Redmine は、システム開発の基幹。何とかしてこれらを連携させたい。

そこで出た妙案

Git リポジトリには hook(フック)機能がある。

これを使う。具体的には以下。

  • Git ベアリポジトリに push されたら
    1. ssh で Redmine サーバにログイン。
    2. Redmine サーバ側にある Git ノンベアリポジトリから、Git サーバのベアリポジトリの内容を fetch。

これによって、以下のメリット。

  • Git ベアリポジトリの管理は、Redmine と別サーバ。
  • でも Redmine サーバ自らの Git ノンベアリポジトリ(クローン)にも、その内容が常時同期される。
  • Redmine は、同一サーバ上の、同期された Git ノンベアリポジトリの内容と連携することで、あたかも Git リポジトリの本体と連携しているように見える。

余談

そんなの GitHub とか GitLab 使えば、Redmine とか要らなくね?

その通り。
GitHub, GitLab で世界が完結できている幸せな方々については、Redmine なんか必要ない。
ぜひともこの話はなかったことにしてほしい。

でも世の中 Redmine をポータルにして運用している組織は沢山いるような気がしたので、記事にした次第。

Python と git と Redmine

最近、色々な場面で Python がプログラム言語として仕事や話題に上がってくる事が増えたので、ちょっとこのタイミングで勉強しようかと。

丁度、ChatWork から Slack への引越データが公式が提供するインポート/エクスポート機能だけでは上手く移転できないのと、引越のついでにデータの中身(添付ファイルのリンク先とか)を少しイジりたかったので、これらの変換プログラムを Python でやってみることに。
(プログラム自体は多分使い捨て。ゴミプロになる予定。)

さらに「ついで」として、プロジェクト管理で使用している Redmine。こいつも git と繋ぎ込みできるため、その環境も整備する方向で。

ちなみに今のトレンドだと、GitHub とか GitLab とか使うんだろうけど、以下の点から見送り。

  • Redmine でプロジェクト管理を網羅的運用してる。
  • 基本的にプライベートリポジトリ(非公開のプログラム)しか作らない。
  • 便利な機能色々あるだろうけど、今回は「リモートリポジトリ置き場」以上の機能は不要。
  • 英語をはじめ、外野からどうこう言われたり、対応するのは面倒。

…そのうち気が変わって、使い始めるかもしれませんが、現状はこんな感じで。

でもってリモートリポジトリは、Redmine のサーバとは異なるサーバで運用している。
このような場合、Redmine サーバまわりで若干トリッキーな構築が必要になるので、これも併せてやってしまう。

・・・なんだか「大盛り」にしすぎですかね。。。