« Redmineチケットが深い階層になっている時に稀にLock wait timeoutが起きる症状 | トップページ | JAXAのRedmine運用事例の分析~「ロール設定のORルール」と「カスタムフィールド設定のANDルール」 »

2016/03/23

Redmineと連携する構成管理リポジトリの作成を自動化する方法

Redmineと連携する構成管理リポジトリの作成を自動化する方法がようやく分かったのでメモ。

【参考】
HowTo Automate repository creation - Redmine

Repositories access control with apache mod dav svn and mod perl - Redmine

redmine/reposman.rb at master ・ redmine/redmine

リポジトリの作成を自動化したい - 履歴

Windows で Redmine と Subversion の認証連携をする ついでにLDAP設定も少し - Qiita

Redmineをインストールしたあとにやっておきたい初期設定 | いちよんこーど

redmineのインストール方法 - Ogalog

【1】Redmineの以前のVer1.xでは、SCMCreatorプラグインを使ったことがあり、Redmineの管理画面からSVNリポジトリを作成できて便利だった。
しかし、Redmineの度重なるVerUpにRedmineプラグインがなかなか追随できないので、最近は使っていなかった。

SCM Creator (+Github) - Plugins - Redmine

概要 - SCM Creator (+Github) - Andriy Lesyuk site

初めてRedmine環境を構築したらSCM連携で躓いた話 - Qiita

【2】Redmineの管理>設定>リポジトリタブに、「リポジトリ管理用のWebサービスを有効にする」というチェックボックスがある。
僕は、下記の記事のように、Redmineと連携する構成管理リポジトリと同期させる方法だけしか知らなかった。

小技(0.9): コミットと同時にリポジトリの情報を取得する | Redmine.JP Blog

しかし、上記の記事を読むと、Redmine純正ツールで、Redmineプロジェクトと1対1に対応するように、SubversionやGitなどの構成管理のリポジトリを自動生成してくれる方法があるらしい。
やり方としては、下記になるらしい。

1)Redmineの管理>設定>リポジトリタブに、「リポジトリ管理用のWebサービスを有効にする」をONに設定
2)Redmineのextra/svn/reposman.rb をRedmineサーバーに配置して、APIキーを指定したスクリプトを作り、Cronで動かす

例:*/5 * * * * ruby /var/www/redmine/extra/svn/reposman.rb --owner apache --svn-dir=/var/www/svn --redmine-host=http://127.0.0.1/redmine --key=hogehoge --scm subversion

reposman.rbを使うメリットとしては、プロジェクトリーダーにRedmineサーバーの管理を開放せずに、Redmine管理画面上から構成管理リポジトリを作成できるので、インフラのセキュリティ面としても有効だろう。

reposman.rbというRubyスクリプトは何に使うのか知らなかったのだが、こういう使い方をするわけですね。
他にも、メールによるチケット自動登録をサポートするrdm-mailhandler.rbも用意されているし、至れり尽くせりだなと思う。

【3】Redmine本家のWikiを色々見ると、Redmineサーバーの不正アクセスを防御する方法(例えば、パスワードを総当りで入力してSSHログインしようとするブルートフォース攻撃など)として、Fail2banを組合せるやり方が紹介されていたりして、なかなか役立つ。
Redmineサーバーを外部公開しているならば、参考になるのではないだろうか。

HowTo Configure Fail2ban For Redmine - Redmine

他にも色々探してみる。

|

« Redmineチケットが深い階層になっている時に稀にLock wait timeoutが起きる症状 | トップページ | JAXAのRedmine運用事例の分析~「ロール設定のORルール」と「カスタムフィールド設定のANDルール」 »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Redmineチケットが深い階層になっている時に稀にLock wait timeoutが起きる症状 | トップページ | JAXAのRedmine運用事例の分析~「ロール設定のORルール」と「カスタムフィールド設定のANDルール」 »