BLOGTIMES
2011/11/16

Trac のユーザーをまとめて登録する

  trac 
このエントリーをはてなブックマークに追加

Linux に一撃で Trac をインストールする」で書いたとおり、先日から Trac と jenkins がパッケージになっている Kanon を使い始めました。インストールまでは非常に楽にできるのですが、その後のプロジェクトの設定をする際に大量にユーザー登録をする必要が出てくることがあります。もちろん全部ウェブからやることも可能なのですが、面倒なのでコマンドラインからユーザーの登録とロールの設定をいっぺんにやるためのシェルスクリプトを書いてみました。

例えば、下記のようなコマンドで SampleProject というプロジェクトに user というユーザーを、 password というパスワードで追加し、leader というロールを付けて追加するということができます。

# ./tracuseradd.sh SampleProject 'user' 'password' leader

これで追加するメンバーが多い場合にも気にせず Kanon を使い始めることができるようになりました。

書いてみたスクリプト

実際に書いたシェルスクリプトはこんな感じです。
内部で使用している trac-digest.py は下記からコピーしたものを使いました。
  → TracStandalone – The Trac Project

kanonuseradd.sh

#!/bin/bash if [ 4 -ne $# ] ; then echo "Usage: $0 project_name user_name user_password user_permisson" exit 1 fi PROJECT_NAME="$1" USER_NAME="$2" USER_PASSWORD="$3" USER_PERMISSION="$4" KANON_HOME=/opt/kanon DIGEST_FILE=/etc/opt/kanon/kanon_users.htdigest export PYTHONPATH=$KANON_HOME/lib/python2.6:$KANON_HOME/lib/python2.6/site-packages export PATH=$KANON_HOME/bin:$PATH TRAC_PROJECT_PATH=/var/opt/kanon/trac/$PROJECT_NAME if [ ! -d $TRAC_PROJECT_PATH ] ; then echo "プロジェクトが見つかりません" exit 1 fi trac-admin $TRAC_PROJECT_PATH permission add "$USER_NAME" "$USER_PERMISSION" awk -F: '{print $1}' "$DIGEST_FILE" | grep "$USER_NAME" > /dev/null if [ ${PIPESTATUS[1]} -ne 0 ] ; then ./trac-digest.py -r kanon -u "$USER_NAME" -p "$USER_PASSWORD" >> $DIGEST_FILE fi

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4579
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン