ALMiniumにJenkinsの追加インストール

ALMiniumのインストールだけではJenkinsはインストールされないようだ。

作業手順

CentOSへのJenkinsインストールは

  1. 本家の手順に従ってインストール
    1. su -
    2. yum install java-1.6.0-openjdk
    3. wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    4. rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
    5. yum install jenkins
  2. ホストOSから操作したいので8080ポートのFirewallを外す
    1. vi /etc/sysconfig/iptables
      • -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    2. /etc/init.d/iptables restart/etc/init.d/iptables restart

でOK。

プロキシ設定

Jenkinsのプラグインをインストール/アップデートするためには、
Jenkinsの管理 > プラグインの管理 > 高度な設定
にプロキシ設定をしてやる必要がある。

蛇足

ウチのプロキシ環境だとyum install jenkinsのインストールがタイムアウトしてしまった。
yumのタイムアウトを延長することで回避できた。

  1. su -
  2. vi /etc/yum.conf
    • 「timeout=60」を追加

vmwareでALMinium

ちょっと3か月くらいのショートプロジェクトを一人でやることになった。

会社ではTracLightningなのだが、関係者が多いためなかなか新しいことを試せない。
これはいい機会だとRedmine&gitを試して見ることにした。

が、公式のRedmineはなかなかにセットアップが大変。
Redmineの他にgitと連携させようと思うと、gitosis?がいるの?
初めてgit使うのにちょっと難易度高いなぁ。

ということでALMiniumを使ってみることに。

作業手順

  1. vmware playerにCentOS6.2の簡易インストール
    • NAT接続
  2. Terminalを開く
  3. rootになって
    1. yum update
    2. ALMiniumのインストール
      1. su -
      2. yum install git
      3. git clone https://github.com/alminium/alminium.git
      4. cd alminium
      5. bash ./smelt
        1. ホスト名とかドメイン名とかよくわからんのでIP直打ち
        2. お一人様プロジェクトなのでSSLは不要 → n
        3. ホストOSからアクセスするためSELinuxやiptableの変更は必要 → y

こんだけ。
あとはホストOSのブラウザで192.168.xxx.xxxにアクセスすればRedmineのトップ画面が表示される。
予め日本語設定もされていて良い感じです。

ちなみに会社はproxy環境なんで、以下の設定も必要だった。

  • vi /etc/profile.d/proxy.sh

export http_proxy=http://プロキシサーバ:ポート/
export https_proxy=http://プロキシサーバ:ポート/
export ftp_proxy=http://プロキシサーバ:ポート/
export HTTP_PROXY=http://プロキシサーバ:ポート/
export HTTPS_PROXY=http://プロキシサーバ:ポート/
export FTP_PROXY=http://プロキシサーバ:ポート/

  • vi /etc/yum.conf

proxy=http://プロキシサーバ:ポート/

  • git config --global http.proxy プロキシサーバ:ポート

なお、当初本家RedmineをインストールしていたのでEPELリポジトリの登録をしてたらうまくインストールできなかった(起動しない)。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm

TracLightning 2.4.0でAdd External Usersできなくてはまった

今更2.4.0の話で恐縮ですが、会社では2.4.0なもんで(Upgradeして動かなくなったら大変

プロジェクトから外れたメンバーを再度ExternalUsersに追加しようとしたらWarningが出て追加できなかった。
しかしサーバーのtrac.htdigestを見るとちゃんと追加されている…。

trac.htdigestを手修正して該当ユーザーを削除して、再度やり直しても症状変わらず。

うーん…。

色々検索してtrac.dbのsessionとsession_attributeから該当ユーザー名の入ったレコードを全部削除してみた。
すると再登録でWarningが出なくなった!

しかしdb直接編集って…。肝が冷えたわー。

TracLightningでメール通知した場合、チケットへのリンクが絶対URLの時と相対URLの時がある

tracにはチケットの更新をメールで通知する機能があります。

またTracLightingにはsvnとtracを連携させる設定がなされています。

このメール通知機能を使っているのですが、メールフッターのチケットへのリンクが絶対URLの時と相対URLの時があるとメンバーから指摘されました。

もう結構長いことtracを使っています。実はこのことはずっと前から知っていましたが、まあいいやと放置していたのです。

しかし指摘を受けたからにはとちょっと調べてみました。…が結局分からず。しかし思わぬことにtwitter経由で教えていただきました。

[trac] base_url を設定していない状態で svn post-commit からチケットを更新させるとそういう状態になります @inazakira TracLightningでメール通知した場合、チケットへのリンクが絶対URLの時と相対URLの時がある…

trac.iniのbase_urlを設定すれば良いそうです。実際base_urlにサーバーのURLを書いたら今まで相対URLだったリンクが絶対URLになりました。

base_url = http://serverhogehoge.co.jp/trac/projectname

ヨカッタヨカッタ。

jun66j5さんありがとうございました。

参照

TracLightning 2.4.0におけるプロジェクト名変更方法

プロジェクト名を変更して欲しいと頼まれたので。

やったこと

  1. フォルダ名変更
    • \projects\trac\old_name → \projects\trac\new_name
    • \projects\svn\old_name → \projects\svn\new_name
  2. trac.ini内のold_nameをnew_nameに変更(一括置換)
  3. svnへのアクセス権ファイル修正(一括置換)
    • \projects\svnauthz内のold_name → new_name
  4. tracとsvnの再同期
    1. スタート->すべてのプログラム->Trac->コマンドプロンプト
    2. trac-admin "D:\TracLight\projects\trac\new_name" upgrade
    3. trac-admin "D:\TracLight\projects\trac\new_name" resync
  5. リダイレクト設定
    • \CollabNetSVN\httpd\conf\httpd.confにリダイレクト設定追加
      • Redirect permanent /trac/old_name http://yourserver.com/trac/new_name
      • Redirect permanent /svn/old_name http://yourserver.com/svn/new_name
  6. 必要なら関連プロジェクトのInterMapの修正

会社でVMware Playerを使ってもよかったのか

Google Testのセットアップ(Cygwin編)のなかで

でもvmware Playerは商用利用NGで

って書いた。

ここでいう商用利用ってのは

  • 会社のPCにインストールして仮想PCを利用しつつプログラミングする
    • 仮想PCはあくまで事務用途
  • 作ったプログラムを販売する
    • 仮想PC自体を販売することはない

という意味だった。

というのもVMWare Playerのライセンス条件に

VMware Player is intended for your own personal non-commercial use only.

ってにあったからなんだけど、
下記リンクを読む限り私の利用方法は商用利用には当たらないらしい。

こりゃグッドニュースだ。
にしても非商用利用ってのは法律用語かなんかなのかね。分かりづらいよー。

TracLightning3.0.7の検証中

TracLightning2.4→3.0.7への移行を検討中。

プロジェクト移行手順

今のところ別系統のPCで動作検証中。

  1. TracLightningの新規インストール
  2. 本系統の\projects以下をテスト環境の\projects以下にコピー
  3. TracLightning付属のコマンドライン起動
  4. コマンドラインで"trac-admin /path/to/projenv upgrade"
    • 例: "trac-admin C:\TracLight\projects\trac\OldProject upgrade"
  5. コマンドラインで"trac-admin /path/to/projenv repository resync"
    • 例: "trac-admin C:\TracLight\projects\trac\OldProject repository resync '*'"
      • 注: 2.x系までは"trac-admin /path/to/projenv resync"で良かった

いつのまにやら分散レポジトリに対応したせいか、resyncの際に"repository resync '*'"としなくなったみたい。

未調査項目

  • なんだかもっさり。テスト用PCのスペックのせいか、バージョン3が遅いのか。
  • リポジトリの同期方法なにか変わった?古いプロジェクトの移行の際にも何かしなきゃならんのかな?

蛇足

なまじっか6年ほどtracを運用していると、むかーしのバージョンで作ったプロジェクトを最新版にお引越しするのが非常に面倒になってきます。
毎回upgradeしてresyncしてーってそれだけなんですけど、プロジェクトの数が多くて単純に時間がかかります。
あと何故かコピーミスが発生してsvnレポジトリ破壊とかもありましたし…。
そんなこともあって、もう古いプロジェクトは古いtracのままで運用したい。
具体的に言うとTracLightningを仮想サーバー化してしまえばいいんじゃね?とか思うんです。
…仮想サーバーを動かすのにはどれっくらいのサーバーPCが必要なのかなぁ。