SVNのすすめ&Redmineでプロジェクト管理

4,018 views

Published on

研究室の内輪ゼミで発表した内容。

バージョン管理システム・プロジェクト管理システムを知らない人向けの解説

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,018
On SlideShare
0
From Embeds
0
Number of Embeds
100
Actions
Shares
0
Downloads
36
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

SVNのすすめ&Redmineでプロジェクト管理

  1. 1. バージョン管理始めませんか? 変ゼミ inajob
  2. 2. こんなことない? ● 今のソースコードは動いている ● ソースコードに大きな改造をしたい ● 現状のソースコードをコメントアウトして、改造してみる – ぐちゃぐちゃ
  3. 3. こんなことない? ● 間違えてデータを上書きしちゃった! ● 大きな変更をする前にバックアップを作ろう – hoge.c.bak , hoge.c.bak2 , ..... ● 昨日まで動いていたんだけど… – 昨日から今日までに何をいじったんだっけ?
  4. 4. バージョン管理 ● ファイルの変更履歴を保存する ● 昔の状態に簡単に戻せる ● 昔の状態との比較が出来る
  5. 5. バージョン管理システム ● CVS – Subversionの方が高機能 集中型 ● Subversion (SVN) – 研究室で導入中 使ってる人も数人いる ● Git – 最近流行り特にRuby使いの間で人気? ● Mercurial – Python 分散型 ● Darcs – Haskell
  6. 6. 仕組み ● 中央サーバなどで履歴データを 集中管理 ● 利用者はそこからファイルを チェックアウトする ● 利用者はファイルの変更を反映 させるためにコミットする チェック コミット アウト
  7. 7. 仕組み ● 別にサーバは同じマシンでもOK チェック コミット アウト
  8. 8. 使いかた(Linux) ● チェックアウト % svn checkout <path> ● コミット % svn commit ● ファイル追加 % svn add ファイル <path> ● file:///home/ina/repos/ ローカルにある ● svn+ssh://<server>/svn/ina リモートにありSSHでアクセスする ● https://server/svn/ina リモートにありhttpsでアクセスする
  9. 9. 使い方 ina@server:~/sandbox/inarepos$ svn checkout https://localhost/svn/ina/proj ./ .... A scripts/fileview/tmpl2.py A scripts/ilc.bat A scripts/func2 A scripts/func2/in.txt A scripts/func2/tmpl2.py A scripts/fact A scripts/fact/fact.html A scripts/fact/in.txt A scripts/fact/tmpl2.py A JsTest.java Checked out revision 330. ina@server:~/sandbox/inarepos$
  10. 10. 使い方 hoge.txtというファイルを作った ina@server:~/sandbox/inarepos$ svn status ? hoge.txt ina@server:~/sandbox/inarepos$ svn add ./hoge.txt A hoge.txt ina@server:~/sandbox/inarepos$ svn commit -m “svn hensemi test” Adding hoge.txt Transmitting file data . Committed revision 331. ina@server:~/sandbox/inarepos$
  11. 11. 使い方(Windows) ● SVNクライアントを導入するのが簡単 TortoiseSVN – TortoiseSVN エクスプローラ上で バージョン管理状態がわかる – SmartSVN SmartSVN 右クリックからコミットが可能 WinSCP風の画面
  12. 12. 便利な使い方 ● 開発版と安定版を管理する – 開発中のものと、とりあえず動作するものを同時に管 理できる – 慣習として trunk/ 開発中 brunches/ ブランチ 開発を分岐させて新機能の導入や バグフィックスなどを行う tags/ 安定版。 中でバージョン毎にさらにディレクトリを作る というような名前で管理する事が多い
  13. 13. その他の便利な機能 ● マージ – 複数人での開発やブランチの統合時に双方で変更が あったファイルをいい感じに合わせてくれたりする ● 判断できないときはユーザに聞いてくる ● Diff – あるバージョンのものと比較する ● バックアップ – SVNを使うことでソースコードのバックアップになる。マ シンが死んでも平気! – うっかり上書きしても被害は最小に
  14. 14. その他の便利な機能 ● Svnで公開されてるソフトウェアを利用できる – 世の中にはsvnレポジトリの形で配布されているソフト ウェアが多数ある
  15. 15. まとめ ● バージョン管理 – 楽なソースコード管理 – 悲劇を減らせる ● とりあえず使ってみれば良いと思うよ!
  16. 16. Redmineでプロジェクト管理
  17. 17. プロジェクト管理って? ● 研究はプロジェクトの一種 ● プロジェクトを進めていく上で、管理は重要 – 発見しているバグ一覧 – 実装したい機能 – 仕様を記したドキュメント – 関連研究調査メモ ● 紙のメモとか使ってますか? – ×検索 – ×保存
  18. 18. Redmine ● RubyOnRailsで作られたプロジェクト管理ツール ● 豊富な機能 – チケット – Wiki – リポジトリブラウザ – フォーラム
  19. 19. チケット ● バグや実装したい機能などを「チケット」として登録する ● バグを倒したり、機能が実装できれば「完了」とする <チケット> <チケット> <チケット> こんなバグがありました <チケット> こんなバグがありました こんなバグがありました こんなバグがありました なおしたぜ!
  20. 20. マイページ ● 自分が今かかえているチケットを見ることが出来る ● サーバ管理プロジェクトなどを作ってサーバに関する不 満、要望などを管理するような使い方も出来る? – 担当者を僕とかS君とかにしてタスクを投げる? <チケット> こんなバグがありました <チケット> こんなバグがありました <チケット> こんなバグがありました
  21. 21. リポジトリブラウザ ● SVNで管理しているなら、リポジトリの場所を指定するだ けでOK ● SVNなどのバージョン管理ツールと連携できる ● バグチケットとそれの対応するファイルなどを関連付け できる ● 他の研究室のメンバーが簡単に閲覧することが出来る – 相談するときなどに有効
  22. 22. まとめ ● Redmineを使ってプロジェクトを管理してみませんか? – チケットを使うことでスムーズな開発を!

×