開発環境等について

開発環境等について
千代浩司
高エネルギー加速器研究機構
素粒子原子核研究所
2012-08-09
DAQ-Middlewareトレーニングコース
1
コンテンツ
• DAQ-Middleware開発環境のご紹介
– 計算機
– バージョン管理ソフト
– プロジェクト管理ソフト
– 対象OS
– VMware Player
2012-08-09
DAQ-Middlewareトレーニングコース
2
開発マシン
2012-08-09
DAQ-Middlewareトレーニングコース
3
daqmw.kek.jp
• Webサーバー
• httpを介してMerucurialリポジトリ公開
• 内部プロジェクト管理ソフト (redmine)運用
2012-08-09
DAQ-Middlewareトレーニングコース
4
バージョン管理 (1)
• バージョン管理していないと
– filename.c.origとかfilename.c.bakとかfilename.c~
とかfinal.last.tmp.4.bakとかいうファイルができた
りする。
– 忘れると困ると思ってそこいらじゅうコメントアウト
されたコードになってよみにくい(今でもコメントア
ウトされたところがあると思う)。
– 昔リリースしたものにバグが発覚した場合の処理
などに困る。
2012-08-09
DAQ-Middlewareトレーニングコース
5
バージョン管理 (2)
• 選択肢としては
– RCS
– CVS
– Subversion
– Mercurial
– Git
等ある。Subversion以降はネットワークを最初から
意識して書かれたもの。
MercurialとGitは分散型。
2012-08-09
DAQ-Middlewareトレーニングコース
6
CVS, Subversion中央集権型
Central
Repository
Commit
Update
Working
Directory
2012-08-09
Working
Directory
DAQ-Middlewareトレーニングコース
7
Mercurial, Git等分散型
Central
Repository
Push
Pull
Local
Repository
Local
Repository
Commit
Update
Working
Directory
2012-08-09
Working
Directory
DAQ-Middlewareトレーニングコース
8
バージョン管理 (3)
• DAQ-MiddlewareではMercurialを使用
– 特に深い理由があって採用したわけではないが
– いまからSubversionはないか?
– Gitはコマンドラインがよくわからない
– Unix Magazine総集編 (DVD付き)で「とりあえず使
うならMercurialが簡単でよい」と書いてあった
– というわけでとりあえず使ってみて不満があれば
ほかのに変更しよう
– 特に不満がなく現在に至る。
2012-08-09
DAQ-Middlewareトレーニングコース
9
バージョン管理 (4)
• 分散型でも使えるが本格的に分散させている
わけではない。
• 中央リポジトリがあってそこからcloneして各
自書き換え、よしとなったら中央リポジトリに
コミット
• コミットすると中央リポジトリからDMZ設置の
ウェブサーバーに自動で同内容が送られる。
2012-08-09
DAQ-Middlewareトレーニングコース
10
2012-08-09
DAQ-Middlewareトレーニングコース
11
プロジェクト管理ソフト
• 物忘れ防止
• バグ報告等
• 世の中で使われているもの
– Bugzilla (perl)
– trac (python)
– Mantis (php)
– redmine (ruby)
2012-08-09
DAQ-Middlewareトレーニングコース
12
redmineを使ってる
• tracとredmineを試してみてredmineのほうが
簡単にセットアップできそうだったのでこちら
を選択
• あと日本語の情報がredmineのほうがおおそ
うだったので。
• rubyは使ったことがなかったのでつかってみ
ようかと思った。
2012-08-09
DAQ-Middlewareトレーニングコース
13
2012-08-09
DAQ-Middlewareトレーニングコース
14
2012-08-09
DAQ-Middlewareトレーニングコース
15
2012-08-09
DAQ-Middlewareトレーニングコース
16
対象OS
• Scientific Linux
– DAQ-Middlewareでは5.x, 6.x (32bit, 64bit)のバイ
ナリを配布している
2012-08-09
DAQ-Middlewareトレーニングコース
17
対象OS (2)
• 依存物の解決さえできればDAQ-Middleware
は特定Linuxディストリビューションに依存する
ところはない(はず)。
• Scientific Linux (CentOS, RedHat EL)以外の
Linuxの希望があればお寄せください。
– Ubuntuは今年パッケージを出す予定
– Debian
– その他 (MacOSX?)
2012-08-09
DAQ-Middlewareトレーニングコース
18