Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
とある案件のTFS導入事例
Search
Hidetake Iwata
February 20, 2012
Technology
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
とある案件のTFS導入事例
第4回 TFSUG
http://kokucheese.com/event/index/26350/
Hidetake Iwata
February 20, 2012
More Decks by Hidetake Iwata
See All by Hidetake Iwata
Rewrite Go error handling using AST transformation
int128
1
1.4k
Cluster AutoscalerをTerraformとHelmfileでデプロイしてPrometheusでモニタリングする / Deploy the Cluster Autoscaler with Terraform and Helmfile, Monitor with Prometheus
int128
3
1.9k
認証の仕組みとclient-go credential plugin / authentication and client-go credential plugin
int128
7
8k
CLIでOAuth/OIDCを快適に利用する
int128
0
1k
AppEngine × Spring Boot × Kotlin
int128
0
170
いつものJIRA設定
int128
1
240
Swaggerのテンプレートを魔改造した話 / Customize Swagger Templates
int128
1
5k
本番環境のリリースを自動化した話
int128
0
850
Swagger × Spring Cloud
int128
0
140
Other Decks in Technology
See All in Technology
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
150
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
310
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
220
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
230
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
140
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
150
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
1
310
Webとヘルスデータ
yukukotani
0
120
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
130
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
0
120
分割40%キーボードにスムーズに入門するには
hoto17296
1
220
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
250
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
We Have a Design System, Now What?
morganepeng
55
8.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Designing for Performance
lara
611
70k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
How STYLIGHT went responsive
nonsquared
100
6.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
230
How to Talk to Developers About Accessibility
jct
2
530
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
810
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
2012.2.20 第4回TFSUG #tfsug @int128
自己紹介 INTRODUCTION
いわてぃ @int128 http://d.hatena.ne.jp/int128/ SIerに勤務するエンジニア。 WordやPowerPointより、 コードを書いているほうが好きです。 2007 2012 2008 2009
2010 2011 インフラエンジニア プログラマ スーツ的な仕事?
私事ですが…
2012年3月、 結婚式を挙げます ※写真はイメージです
アジャイルな結婚式準備
本題
はじめに ※本発表の内容は、私の所属する会社や組織の方針を反映するものではありません。 とある開発プロジェクトでTFSを運用した事例を紹介します。 http://d.hatena.ne.jp/int128/20111221/1324487491
プロジェクト概要 2010年10月〜2011年3月末 • あ 2011年4月〜2012年3月末
チームマネジメント 開発フェーズ • 朝会 • スタンドアップミーティング 要件定義フェーズ • 朝会 •
プロジェクタでTFSのタスクリストを表示しながら ※私はマネージャでもリーダでもないです
ポータルサイト ポータルサイトを上手く運用するとチームの情報共有が進む。 メールではなくRSS購読、情報の受身ではなく発信者へ。 お知らせ Tips (参考情報) リンク
開発環境 • 当初は VS2008+Subversion(AnkhSVN)を利用 • 他案件ですでに導入済み • Expression Blend 3
• 後に VS2010+TFS に変更 • Visual Studio 2010 • SQL Server 2008 R2 Express • Expression Blend 4 • .NET Framework 3.5(制約)
開発サーバ • その辺に転がっているデスクトップPC • Windows Server 2008 R2 • Team
Foundation Server 2010(後にSP1) • SQL Server 2008 R2 Enteprise • Office SharePoint Server 2007 • システム構成 • シングルサーバ • ドメイン参加 • 日次バックアップ
リポジトリやビルドサーバは拠り所。 シングルポイントになってはいけない。 • 速いマシン • 信頼できる構成 • 運用しやすい仕組み
TFS2010のセットアップはとても簡単 短時間でCI環境を構築できる。 Windows Serverが使える人ならTFSを運用できる。 「ビルド管理者」の一極集中を軽減できる。
ソースコード管理 VS2010+TFS2010を全面的に採用した。 • チェックイン、チェックアウトの操作に慣れればSVNとあまり違わな いと思う。 • 分岐とマージについては説明資料を作った。 • 将来のバージョンで、Git+SVNのように分散バージョン管理 の美味しいところを取り入れてくれたら嬉しい。
お約束 • バグやタスクの関連付け • TFS+VSではチェックイン時にバグやタスクを画面で選択して 関連付けられる。バグIDを手入力する必要はない。 • チェックインの必須項目にはしなかった。 • 最低でも1日1回のチェックイン
• トラディショナルな開発スタイルに慣れた人は、最初から完成 品を目指してしまう。 • チェックインは怖くない! • コードの共同所有文化 • リファクタリング
シェルブを使う 作業中のソースコードをサーバに一時的に保管しておける。 • git stash • 作業履歴 • ちょっと大きな変更を加えるときに成果物を保管する。 •
コードレビュー的なもの • 他人がシェルブしたコードも見られる。 • シェルブに入れたコードを相談や議論のネタにする。 「動かないんですけど…」 「俺のコードを見てくれ、どう思う?」
チェックインポリシー チェックイン時に制約を設けることが可能 • ビルドの通らないコードはチェックインできない。 • ユニットテストの通らないコードもチェックインできない? • ユニットテスト?美味しいの? • 開発に習熟したチームでないと難しいと思う。
• 品質ゲート
コード分析
ユニットテスト VS2010 Unit Testを採用した。 • テストケースの自動生成 • カバレッジ
ブランチラインの運用
データベースの管理 スキーマとデータをリポジトリで管理する。 • データファイル(MDF)をチェックイン • アプリとデータベースの食い違いがなくなる。 ファイルアタッチ機能を利用 • 開発環境でアプリを実行するとき、データファイルをローカルの SQL
Serverに自動的にアタッチしてくれる • 開発環境のデータベースを同一に揃えられるため、環境に起因す るトラブルがなくなる
落とし穴 大きなデータファイルはディスクと時間を食いつぶす • TFSのビルドではいくつもの作業コピーを作られるため、MDFがコ ピーされないように設定する SQL Server Standard以上ではファイルアタッチドDBを利用できな い •
ビルドサーバにアタッチ済みのデータベースを用意し、テストの setUpで接続文字列を書き換える
ビルド 標準的なビルドなら、TFSの設定画面から数ステップで設定できる • 設定しやすいことは非常に重要 • 「ビルド担当者」のシングルポイントを取り除く VSとTFSのビルド設定がシームレス
通知
デプロイメント CD-Rリリース • お客様拠点にCD-Rを持ち込み、手動でインストール • 顧客端末へのリリースは人力でやるしかなくて、煩雑な手順が問 題になった。 • サーバどこに置いてるの? •
管理者アカウント? 限られた状況で • CD-Rを焼くまでは誰でもワンクリック • 成果物をビルドサーバの共有フォルダに出力
まとめ 短時間でCI環境を構築できるメリットは大きい。TFSのインストールや 管理は簡単。 ビルドエラーや警告から目を背けて、赤い日々や黄色い日々を過ごし てはいけない。