「 rhodecode 」一覧

RhodeCodeが様変わりしてた


RhodeCode が良さそうに思って以前に導入記事を書いてみましたが、久しぶりにどうなったかなと思って確認したところ、なんと色々と大きく変わっていました。

RhodeCode Enterprise というものになっていて、20ユーザーまではフリーで使えるという状態のようです。以前はそんな制約はなかったと思います。GPLv3 のライセンス下で配布されていたと思います。

検証当時は GitLab vs RhodeCode で、個人的には RhodeCode を推していこうと思っていたのに、この制限があるとチームで使う際には除外されていきそうです。残念。

追記

どうやら、1.7.1はGPLv3のままの提供、その後の新バージョン 2.x 系を RhodeCode Enterprise としてライセンス体系を変えたっぽいです。


RhodecodeのActiveDirectory認証


ActiveDirectoryの認証を用いてユーザー認証できるというRhodecodeですが、その説明を書いた部分が見つからないのでここにメモがてら残しておきたいと思います。一応紹介記事ではLDAP/ActiveDirectoryが使える!とあるのにその設定が見つからないのはどうなのだろうと思ったり。

Rhodecodeの設定

ここで試しているRhodecodeは 1.4.3 です。
管理者ユーザーでログインして LDAP の項目を表示させます。そして以下の内容で設定していきます。

  • LDAPを有効にする にチェックを入れる。
  • ホスト: ActiveDirectory(ドメインサーバー)が動いているアドレスを入力
  • ポート: 389
  • アカウント:検索用のユーザー名. なければ適当なユーザー名を。
  • パスワード:上記ユーザーのパスワード
  • 接続のセキュリティ:暗号化無し
  • 証明書チェック:NEVER
  • Base DN: ドメイン名がMYDOMAIN.LOCALの場合だと、 DC=MYDOMAIN,DC=LOCAL と入力する
  • LDAPフィルター: 空欄のまま
  • LDAP検索範囲:SUBTREE
  • ログイン属性: sAMAccountName
  • 名前属性(FirstName): givenName
  • 名字属性(LastName): sn
  • メールアドレス属性:mail

これらの設定で自分の環境ではドメインのユーザーを認証できています。


GitlabとRhodecodeのメール設定


GitlabとRhodecodeを調べていてメール関連でどちらも設定を放置していたので調べてみました。

Gitlabの場合

gitlab.yml の email セクションの host という項目に対して、メールサーバーのアドレスを設定します。
たいていlocalhostのままなので、ここにメールサーバーのアドレスを記載します。
localhostのままでメールを送れるようにするためには、gitlabを動かしているサーバーでPostfixなりssmtpなりのメールサーバーを動かす必要があります。

Rhodecodeの場合

production.ini ファイルの中に smtp_server という項目があるので、そこにメールサーバーのアドレスを記載します。送信についてSMTP認証がかかっていたりする場合には、smtp_serverの行付近にアカウント情報を設定するような項目があったので、そこで設定してあげればよいように思います。

ついでに、email_prefix という項目もあるので、何かしら設定しておくと、メール振り分け設定の指標になるし便利だと思います。


Rhodecodeのバージョン更新


1.3.6を以前インストールしましたが、最近は既に1.4.3が出ているようなので以下の手順でバージョンをあげてみました。

バージョンを更新する

production.ini.oldの中身を確認しつつ、新しく作られた production.ini の中身を再設定していく.
自動マージされるらしいのだけど、手元ではうまくいきませんでした。

データベースを更新します。

起動し直します

そういえば更新してみて気付きましたが、言語を日本語の設定にすることが出来るようになったようです。production.iniの中にlangという項目があり、そこにjaを設定することができます。

チケット連携?

rhodecodeのIssue Tracker連携があるかと思っていたのですが、連携というわけでは無く単にリンクが張られるだけのようでした。コミットコメントにチケット番号を記述しておくと、それに対応する
IssueTrackerのチケットへ飛べるだけの機能のようにみえます。