• Save
ネイバージャパン モジュールのバージョン管理
Upcoming SlideShare
Loading in...5
×
 

ネイバージャパン モジュールのバージョン管理

on

  • 1,880 views

 

Statistics

Views

Total Views
1,880
Views on SlideShare
1,633
Embed Views
247

Actions

Likes
1
Downloads
1
Comments
0

3 Embeds 247

http://naverland.naver.jp 244
http://webcache.googleusercontent.com 2
http://dev-web6.navercorp.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ネイバージャパン モジュールのバージョン管理 ネイバージャパン モジュールのバージョン管理 Presentation Transcript

  • モジュールのバージョン管理
    NAVER JAPAN開発室
  • JPMC上のプロジェクト数
    約260個
    一般プロジェクト数(本番のみ)
    モジュールプロジェクト数
    約80個
    10回以上参照されているモジュール数 23個
  • 実際のバージョン管理経験談
  • 緊急バグが報告されました。
    サービスAでバグ発見
  • こう見えるはずなのに
  • 見えていません
    サービスA
  • イシュートラッカーに登録
    YUIの
    画像ブロックが見えていません。
  • 原因が見つかりました。バグが発生した所は?
    モジュールB
    サービスA
    モジュールC
    エラー発生
  • でもモジュールBとモジュールCはサービスAが配信された後も開発の真っ最中。。。
  • サービスA配信時のタグ
    サービスA
  • サービスA配信時のモジュールCバージョン
    サービスA
    1.0.16
    モジュールC
    モジュールB
  • 配信時のモジュールバージョン
    エラー
    開発中
    1.0.16
    モジュールC
    開発中
    0.8
    モジュールB
    バグ発生
    開発中
    R2010……
    サービスA
  • モジュールCの
    リリースログ 
  • タギングされている!!
  • 解決プラン
    エラー
    1.0.16.1
    開発中
    1.0.16
    モジュールC
    開発中
    0.8.1
    0.8
    モジュールB
    バグ修正
    開発中
    R2010……
    サービスA
  • バグ修正スタート
    YUIの
    画像ブロックが見えていません。
  • モジュールCの   を修正
  • http://localhost....
  • Commit
  • 開発サポートシステムの話
  • SVN Commit
    TeamCity, Sonar
    Subversion
    Developer
    Unit Tests
    Build
    Commit
    Static Analysis
  • TeamCity
    ユニットテスト
    ソースコードのビルド及びユニットテスト検証
  • Sonar
    潜在的なバグ
    コーディング規約の違反
    テストカバレッジ(テストカバー率)
    -> ソースコードの品質改善
  • Sonarレポート詳細
  • System
    BTS(IT)
    alpha servers
    1
    Developer
    beta servers
    2
    3
    release servers
    Subversion
    (SCM)
    JPMC2(Deploy)
    Sonar
    (Static Code Analysis)
    Archiva
    (Maven Artifact Repository)
    TeamCity(CI)
  • イシュートラッカーと配信環境
    開発環境
    alpha
    QA環境
    beta
    本番環境
    release
  • 本題に戻って
    モジュールを修正してCommit した後
  • モジュールCを1.0.16  1.0.16.1バージョンでリリース
    モジュールC
  • モジュールC
  • モジュールC
  • モジュールC
  • モジュールB
    0.8   0.8.1
    モジュールCの 1.0.16.1バージョンを参照するように修正してCommit
    モジュールB
  • モジュールB
  • モジュールB
  • サービスAはモジュールBの0.8.1バージョンを参照するように修正してCommit
    サービスA
  • サービスAを開発環境に配信
    サービスA
  • 開発環境に配信
    YUIの
    画像ブロックが見えていません。
    開発環境
    alpha
  • http://alpha....
    サービスA
  • サービスAをQA環境に配信
    サービスA
  • QA環境に配信
    YUIの
    画像ブロックが見えていません。
    QA環境
    beta
  • よろしくお願いいたします。
  • http://beta....
    サービスA
  • OK
  • サービスAを本番環境に配信
    サービスA
  • サービスA
  • 配信したバージョンで再起動
    サービスA
  • サービスA
  • http://release....
    サービスA
  • イシューの解決
    YUIの
    画像ブロックが見えていません。
    本番環境
    release
  • ロールバック
    サービスA
  • 結論
    開発サポートシステム
    より良い品質のソースコードを生み出す
    イシュートラッカー
    イシューの進行状況を把握
    モジュールのバージョン管理
    問題発生コードを迅速に手に入れ、影響を最小化して解決
  • 質問