Recommended 今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGitLabの始め方 Ubuntu編
LibreOfficeコミュニティに不具合修正パッチを送ってみた
Linux環境でLibreOfficeをビルドしてみようかね
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのgit超入門 OSC2018京都 資料
Sphinx拡張 探訪 2014 #sphinxjp
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
今さら聞けない人のためのGit超入門 OSC2018名古屋版
ドキュメントの話、しませんか? #428rk01
LibreOffice No coding extention(ClipArt)
今さら聞けない人のためのK8s超入門 Big Sur対応版
今さら聞けない人のためのK8s超入門 Big Sur対応版
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
More Related Content 今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGitLabの始め方 Ubuntu編
LibreOfficeコミュニティに不具合修正パッチを送ってみた
Linux環境でLibreOfficeをビルドしてみようかね
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 GitLab 13対応版
What's hot (20) 今さら聞けない人のためのgit超入門 OSC2018京都 資料
Sphinx拡張 探訪 2014 #sphinxjp
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
今さら聞けない人のためのGit超入門 OSC2018名古屋版
ドキュメントの話、しませんか? #428rk01
LibreOffice No coding extention(ClipArt)
今さら聞けない人のためのK8s超入門 Big Sur対応版
今さら聞けない人のためのK8s超入門 Big Sur対応版
Viewers also liked (9)
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
アプリを生み出す現場でUI/UXデザイナーが意識するべきこと:RoomClip
大規模スクラムの失敗から学んだこと #AgileJapan2015
これからのソフトウェア開発での
プロジェクト管理の展望【リックソフトセミナー】
Similar to Ossで作成するチーム開発環境 (20)
Windows Windows上に作るチーム開発環境
分散バージョン管理システムって何なん 20101218
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
Trac Plugin Developement with Jenkins
Redmine Applied for Large Scale
Gitと出会って人生変わった テックヒルズ2013-03-22
More from Tadahiro Ishisaka (20)
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.1)
Visual studio 2015 update1 ctpとcsi
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Git for windows情報アップデート 2014年10月5日
ビジネス向けアプリケーションにこそ進めるMicro orm
Jazug3周年lt deployブランチを追加してみましょう
Build insider offline session チームでのgit
Hokuriku.net 2013 01-26 node.js
Web matrix2とvisual studio
静岡Developers勉強会 第11回 第12章 遅延評価
Ossで作成するチーム開発環境2. 自己紹介
• 静岡から来ました
• IT勉強会のスタッフをしています
– NT-Committee2会員(関東)
– 静岡ITPro勉強会スタッフ
– 静岡Developers勉強会スタッフ
– JAZUG静岡支部長
• 仕事はSE
• 詳しくは以下を参照ください
– http://opcdiary.net/?page_id=2
6. • 会話
– 席が隣。同じ場所で仕事をする。
– 電話(テレカン、ビデオ会議…)
• 電子メール
• IRC, Messenger
• Twitter
– 新幹線で席が隣なら話した方がいいんじゃね?
8. スケジュールの共有
お菓子買わ
なくっちゃ…
計画の入力 計画の承認・進捗の承認
進捗の入力
Rev. 1.0 Release
9. ちゃんとバ
コードの共有 グは治って
るかな?
ふむ。ふむ。
これは参考
になる!
レビュー
Pull, Commit, Push
Pull, Commit, Push
ソースコード
リポジトリ
参照してHTML化
10. ハードウェアの共有
失敗…
JOBの確認
納品
JOBの登録
パッケージング
ソースコード
リポジトリ 参照
ビルド
12. チーム開発環境での実現
• ナリッジの共有
– Wiki
– Issue Tracking
• コードの共有
– SCM(Software Configuration Management System)
– ブラウザ経由でのコード表示
• 作業の共通化
– CI(Continuous Integration Tool)
14. チーム開発環境のソフトウェア
• プロプライエタリ
– Visual Studio Team Foundation Server(MS)
– Star Team(マイクロフォーカス)
– IBM Rational Team Concert(IBM, Rational)
• オープンソースソフトウェア
– Trac(Python)
– Redmine(Ruby)
参考:http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
15. 有償製品とOSSとの比較
• 管理できるプロジェクトの規模
– 有償:小規模(数名)から大規模(千人規模)まで
– OSS:中小規模プロジェクト
• 機能
– 有償:有償セミナーが必要なぐらい高機能
– OSS:本買えば何とかなりますよ。後はWEBで
• 導入コスト
– それお高いんでしょ?
– OSSなら導入0円
18. Trac Lightningの動作環境
• Windows
– XP, Vista, 7, 2003R2, 2008, 2008R2
– IISはインストールしない
– Windows Firewallでは必要ポートを開ける
– PythonやApatchはTracLightningのインストー
ラーが入れる。
• Excel
• Java Runtime
• Visual Studio
20. Trac
• 開発言語
– Pythonで開発されている。
• データベース
– SQLiteを使用している。
– バックアップ等での煩雑さは無いが、大規模
な仕様では不安
– Postgre, MySQLを使用することも可能
• 標準のバックアップコマンドではDBまで面倒を見
ないので注意
21. Tracでできること
• Wiki
– Wikiは複数のメンバーが同一ページを効率的
に編集・構築するためのシステム。
– WikiはHTMLの書式ではなく、簡易化された
Wiki記法にて記述する。
– TracのWikiはチケット等との連携、コードリポ
ジトリとの連携、プログラミングコードの文
法ハイライトの機能などを備えている。
– チーム開発のルールなどの共有情報の保存・
共有に使用する。
23. Tracでできること
• チケットシステム
– TODOやバグを「チケット」として管理する
– 1タスク1チケット
– チケットには概要(表題)、報告者、詳細、分類、
優先度、マイルストーン、コンポーネントといっ
た属性がつけられている
– チケットにはファイル添付が可能
• バグ発生時のスクリーンショットなど
– チケットは作業ワークフローと連動した状態を
持っている。
• 新規チケット登録→作業者割り当て→作業中→作業完了
25. Tracでできること
• チケットシステム
– 属性を設定することで、チケットを細かく管
理することができる
• 属性の値をソートや検索の条件にできる
• 担当者の割り付けやマイルストーンの割り付けに
よる進捗の管理
• 属性は設定変更により任意に追加できる
– TracLightningではカレンダー、ガントチャート機能のた
めに開始日、終了日属性が追加されている
27. Tracでできること
• リポジトリブラウザ
– Tracに登録された単一のリポジト上のディレ
クトリやファイルを参照することができる
– 特定リビジョンでの変更内容やリビジョンロ
グ、リビジョン間のDiffなどを確認することが
できる
– ソースコードはシンタックスハイライトされ
るし、Diff表示でも変更点が色づけされる
29. Tracでできること
• タイムライン
– 作業履歴
• Tracに加えられた様々な変更
– チケットの追加
– チケットの状態変化
– Wikiの変更
– マイルストーンの変更
– リポジトリへのチェックイン
• 誰が何をしたかを時系列に記録
31. Tracでできること
• ロードマップ
– プロジェクトスケジューリングのための基本
機能
– 「マイルストーン」を管理する
– チケットとマイルストーンをひも付けするこ
とで、作業のスケジューリングと進捗管理を
行う
33. Tracでできること
• 権限管理
– Tracやリポジトリに対して誰が、何をできる
のかを管理することができる
– 認証にはApatch(HTTPサーバ)のHTTP認証を
用いる
• システムの拡張
– プラグインによるシステム拡張がおこなえる
38. はまらないコツ
• UTF-8
– Apatchなどの設定ファイルはいわゆるUTF-8N
– メモ帳でINIファイル類を編集しない
– メモ帳でUTF-8のテキストを編集するとBOMが
ついてしまう
• Windows Firewall
– Trac, Subversion, Hudsonで使用するポートは
しっかりあけておく
– 空けるか聞いてくると思いますけど
39. はまらないコツ
• Web Deployment Agent Service
– Microsoft Web Deploy 2.0 用のリモート エー
ジェント サービス
– VS2010 SP1などでインストールされる
– 何気にこの人がPort 80をがっつり捕まえてい
たりするので、殺しておく
• SQL Server
– httpエンドポイントは使っちゃだめ
40. 運用を快適に
• バックアップ
– バッチコマンドがある
– 改造して使い勝手がいいように
• 仮想化
– 仮想化しておくと使い勝手いいかもしれません
– 仮想マシンごとテンプレ化して用意しておく
41. SCM(Software Configuration Management System)
/ VCS(Version Control System)
• TrackLightningではSubversionが自動的に
インストール、環境構築される
• Subversion
– Tracは原則Subversionのためのツール
• クライアントをどうするか?
– Visual Studioから
• AnkhSVN
– WindowsのExplorerから
• TartoiesSVN
– どちらもそれぞれメリットがあるので両方使う。
44. Continuous Integration Tool
• TracLightningではJenkinsがCIツールとして
インストールされる
• Jenkins
• Javaで作られているCIツール
• Plugin拡張
• MS Build plugin
• NUnit plugin
• MStest plugin
• Visual Studioでの開発でも問題なし。
46. Trac, Trac Lightning
にかけているところ
• 品質/進捗の統計化
– データ収集に関する機能が標準でない
• 原則的に品質に関する数値管理はJenkinsとそのプ
ラグイン任せ。
• 工数/進捗といったチケットの情報はExcelでとれる。
– この辺はMSのTFSとかRational諸製品のような
高価な有償ツールにはかなわないところかも
48. 集中と分散
集中SCM 分散SCM
中央SCM
Version Database
Computer A
中央SCM Version 3
Checkout
Version Database Version 2
file
Version 3 Version 1
Version 2
Computer B Computer A Computer B
file file
Checkout Version 1
Version Database Version Database
file
Version 3 Version 3
Version 2 Version 2
Version 1 Version 1
49. Git
• Linux Kernelの開発ために作られ、そこで実際に
使用されている分散型のSCM
• 差分では無くスナップショット
– コミットの都度ファイルレベルでのスナップショッ
トが作られるイメージ
• ほとんどの作業がローカル
– ほとんどの作業ではローカルの作業用ファイルと
データベースだけが必要で、サーバーを必要としな
い。
• たとえばMS VSSでは常に中央のサーバーを要求する。
50. Windows と Git
• 必ずしも相性は良くありません
• Gitの根本的な思想はUnix文化
– ツールの組み合わせで処理を実現する
– コマンドライン
• UTF-8を前提としたデータベース構造
– Windowsでのファイル名の扱い
– コミットログのようなテキストデータの処理
• 良くも悪くもまだ歴史が浅い(Win上)
60. GitをHTTPで公開する
• なぜHTTPなのか?
– Gitのリモートへのリポジトリ公開はsshで行う
のが一般的
– Windowsには標準でssh環境が無い
• sshサーバの構築にはCygwinが必要
– ユーザーが慣れていない
– 管理的にもhttpの方が敷居が低い気がする
– Trac Lightningをインストールすれば、既に
Apacheがある
• Tracのユーザー管理が使用できる
63. Apacheの設定変更
• HTTPでの公開はWevDAVでとCGIを使う方
法がるが、pushも可能なようにCGIでの公
開として設定
• 設定した内容は以下の内容
– git-httpd-backendをCGIとして動作させ、それ
を/git/というエイリアスに割り当てる。
– 認証にはダイジェスト認証を使い、その設定
はTrac Lightningのものを使用する
64. Apacheの設定変更
• C:TracLightCollabNetSVNhttpdconfに
以下の内容を追加
SetEnv GIT_PROJECT_ROOT "C:TracLightprojectsgit"
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ "C:Gitlibexecgit-coregit-http-backend.exe/"
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
<Location /git>
Options +ExecCGI
AuthType Digest
AuthName trac
AuthUserFile "C:TracLightprojectstrac.htdigest"
Require valid-user
Allow from all
</Location>
69. 参照サイト(Trac Lightning)
• The Trac Project
– http://trac.edgewall.org/
• Trac Lightning
– http://sourceforge.jp/projects/traclight/wiki/Front
Page
• Shibuya Trac
– http://sourceforge.jp/projects/shibuya-
trac/wiki/FrontPage
70. 参照サイト(Jenkins)
• Jenkins
– http://jenkins-ci.org/
• 日本Jenkinsユーザー会
– http://build-shokunin.org/
• Hudson で MSBuild を動かす
- かおるんダイアリー
– http://d.hatena.ne.jp/kaorun55/20081218/12295
90139
71. 参照サイト(Subversion)
• Apache Subversion
– http://subversion.apache.org/
• Ankhsvn
– http://ankhsvn.open.collab.net/
• TortoiseSVN
– http://tortoisesvn.tigris.org/
72. 参照サイト(Git)
• Git – Fast Version Control System
– http://git-scm.com/
• msysGit
– http://code.google.com/p/msysgit/
• TortoiseGit
– http://code.google.com/p/tortoisegit/
• Git Extensions
– http://code.google.com/p/gitextensions/
73. 参照サイト(Git)
• Git Source Control Provider
– Visual Studionのソースコントロールプロバイ
ダとしてVSとmsysGitの仲立ちをする
– VSからGit ExtensionsやTortoiseGitの呼び出し
– http://gitscc.codeplex.com/
• Pro Git(日本語) Apressからでている書籍の日本語訳
– http://progit.org/book/ja/
74. OPC Diary
• Visual StudioでGitを使用できるようになる
まで
– http://opcdiary.net/?page_id=5677
• Trac LightningとGitを組み合わせる
– http://opcdiary.net/?p=6111
• Full installer for unofficial Unicode Git for
Windows 1.7.8というもの
– http://opcdiary.net/?p=6142
75. Trac参照書籍
• 入門Trac第2版
– 高山 恭介 (著)
– 出版社: 秀和システム (2009/08)
– ISBN-10: 4798023507
– ISBN-13: 978-4798023502
– 発売日: 2009/08
76. Trac参照書籍
• Trac入門 ――ソフトウェア開発・プロジェ
クト管理活用ガイド
– 菅野 裕 (著), 今田 忠博 (著), 近藤 正裕 (著), 杉
本 琢磨 (著)
– 出版社: 技術評論社 (2008/9/18)
– 言語 日本語
– ISBN-10: 4774136158
– ISBN-13: 978-4774136158
– 発売日: 2008/9/18
77. Subversion参照書籍
• 実用 Subversion 第2版
– C. Michael Pilato (著), Ben Collins-Sussman (著),
Brian W. Fitzpatrick (著), 宮本 久仁男 (監訳) (監
修), 朝枝 雅子 (翻訳), 浜本 階生 (翻訳)
– 出版社: オライリージャパン; 第2版
(2009/7/27)
– 言語 日本語
– ISBN-10: 4873114144
– ISBN-13: 978-4873114149
– 発売日: 2009/7/27
78. Git参照書籍
• Gitによるバージョン管理
– 出版社: オーム社 (2011/10/25)
– 言語 日本語
– ISBN-10: 4274068641
– ISBN-13: 978-4274068645
– 発売日: 2011/10/25
79. Git参照書籍
• 実用Git
– Jon Loeliger (著), 吉藤 英明 (監訳) (翻訳), 本間
雅洋 (翻訳), 渡邉 健太郎 (翻訳), 浜本 階生 (翻
訳)
– 出版社: オライリージャパン (2010/2/19)
– 言語 日本語
– ISBN-10: 4873114403
– ISBN-13: 978-4873114408
– 発売日: 2010/2/19
80. Jenkins参照書籍
• Jenkins実践入門
– 佐藤 聖規 (著, 監修), 和田 貴久 (著), 河村 雅人
(著), 米沢 弘樹 (著), 山岸 啓 (著), 川口 耕介 (監
修)
– 出版社: 技術評論社 (2011/11/11)
– ISBN-10: 4774148911
– ISBN-13: 978-4774148915
– 発売日: 2011/11/11
81. Jenkins参照書籍
• Jenkins
– John Ferguson Smart (著), Sky株式会社 玉川 竜
司 (翻訳)
– 出版社: オライリージャパン (2012/2/22)
– 言語 日本語
– ISBN-10: 4873115345
– ISBN-13: 978-4873115344
– 発売日: 2012/2/22
84. LinuxでのTrac運用
• KANON
– Linux上で実現するTracLightinig
– ウォーターフォール開発、アジャイル開発
(SCRUM)両方に対応
– SCMの対応が豊か
• はじめからSVN, Hg, Bazzar, Gitに対応
– JavaベースのGUIツール
– http://kanon.ultimania.org
– http://kanon.ultimania.org/trac/kanon
85. LinuxでのTrac運用
• KANON
– ダウンロード
• http://kanon.ultimania.org/hg/KanonConductor/
– 対応プラットフォーム
• Ubuntu 10.10
• RedHat Enterprise Linux 6.0 (Webサーバ構成)
• Debian GNU/Linux
• CentOS 5
– インストール方法
• http://kanon.ultimania.org/?p=1
89. .gitconfigの設定例
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
guitool = kdiff3
[difftool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[core]
editor = "C:/Program Files (x86)/GitExtensions/GitExtensions.exe"
fileeditor
autocrlf = true
91. Unix的な流儀に慣れる
• Unix的な流儀に慣れる
– これがWindowsだけを使ってきた人がGitを使
う上での一番の大きな壁かもしれません
– Gitに限らず多くのOSSやフリーソフトウェア
はUnix文化を背景にしています
– したがって、文化としてのUnixを理解してい
くことが便利に使用していくための一番のこ
つだったりします
98. JenkinsでのMSBuild設定
• MSBuildのProperty設定
– /p:DebugSymbols=true
• テスト、カバレッジを組み込むのであればPDBの
出力は必須
– /p:ReferencePath=”~”
• VSで設定した参照設定は.suoに書かれ他環境では
引き継がれないので、GACに登録されず、ローカ
ルにバイナリの無いライブラリへのリファレンス
を追加する。
101. JenkinsでのNUnitの設定
• コマンド例
– これはカバレッジを組み込まない場合
"C:Program Files (x86)NUnit 2.6binnunit-
console.exe" %WORKSPACE%HokurikuDemoTestHokurikuDemobi
nReleaseTestHokurikuDemo.dll /xml=nunit-result.xml
/framework=net-4.0
exit 0
106. OpenCover
• OSSでフリーのコードカバレッジツール
• X64環境に正式に対応している
• .NET Framework 4.0対応
• 現状コンソールツールのみ
• 結果表示にはReport Generatorを使用する
108. OpenCoverとJenkins
• OpenCoverからNunitを起動して、単体テス
トとカバレッジの測定を行う。
cd /d %WORKSPACE%
del result.xml
del TestResult.xml
del /s /q .html*.*
"C:Program Files (x86)OpenCoverOpenCover.Console.exe" -register -target:"C:Program Files (x86)NUnit
2.6binnunit-console.exe" -
targetargs:"%WORKSPACE%HokurikuDemoTestHokurikuDemobinx64ReleaseTestHokurikuDemo.dll
/framework=net-4.0" -targetdir:"%WORKSPACE%HokurikuDemoTestHokurikuDemobinx64Release" -
filter:"+[HokurikuDemo]*" -output:result.xml
"C:binreportgenbinreportgenerator" "result.xml" .html
copy "%WORKSPACE%HokurikuDemoTestHokurikuDemobinx64ReleaseTestResult.xml" "%WORKSPACE%"
118. Task Scanner Plugin
• TODO, FIXMEなどのキーワードがついた残
作業を示すコメントを集計して、作業漏
れを確認できるようにする
• 指定されたキーワードのカウントと、
キーワードのあった場所のハイライト
124. Jenkins Plugin RSS
• TracLightningだとJenkinsのプラグインイン
ストール用のRSSのURIが登録されていない
場合がある
• URIは以下の通り
– http://updates.jenkins-ci.org/update-center.json
• 設定場所
– プラグインマネージャ→高度な設定