SlideShare una empresa de Scribd logo
1 de 35
縣 俊貴 株式会社ヌーラボ   取締役 The Seasar Foundation 14-E-3 Subversion と Maven 2 による構成管理 〜バージョン管理・ビルド・リリース・自動化〜 Copyright 2008 Nulab inc. All Rights Reserved.
最初に自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved. http://www.backlog.jp/ 本社:福岡市 アジャイル開発の
アジェンダ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
Copyright 2008 Nulab inc. All Rights Reserved.
構成管理とは? ,[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
身の回りにこんな 問題ありませんか? 構成管理に対しての意識を高めていかないと、問題は永遠に解決しません。 Copyright 2008 Nulab inc. All Rights Reserved. 田中リーダー 佐藤 鈴木
構成管理って簡単にいうと何? ,[object Object],[object Object],1.0 1.1 1.2 変更履歴の記録 変更履歴の記録 1.0 1.1 1.2 ソフトウェア構成管理とは、「変更管理」と「確実な成果物の作成」を実現するもの。 Copyright 2008 Nulab inc. All Rights Reserved. ・リリースの構成を把握 ・任意のバージョンの  を再作成 ソース 成果物
で、なぜ今構成管理なの? 自動化 昔と比べて効率化や品質保証に 関して手法が普及してきた。 次に開発全体の中で大きく改善できるポイント。 構成管理を「なんとなく」から「意識的」にして、ソフトウェアの安全で迅速な提供を Copyright 2008 Nulab inc. All Rights Reserved.
Subversion ,[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
Subversion の特徴 ,[object Object],Subversion は構成管理に最適なバージョン管理ツール! Copyright 2008 Nulab inc. All Rights Reserved. SVN 問題点の改善 ・ ブランチのコストがほぼ0。 ・ツリー全体でリビジョンを管理。  ある瞬間の状態のソースツリー  取得が簡単 項目 CVS Subversion ディレクトリの移動・削除 未サポート サポート ブランチ化 全コピー・コスト大 参照コピー・コスト小 通信方式 独自プロトコル、 SSH 独自プロトコル、 SSH 、 HTTP リビジョン番号の単位 ファイル毎 ツリー全体
Subversion を使った 構成管理の実践パターン ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],構成管理のパターンを知ると構成管理を自信を持って行えるようになります。 Copyright 2008 Nulab inc. All Rights Reserved.
メインライン ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],/trunk /Release1 リリース 1 /Release2 リリース 2 に 向けての作業 リリース 2 メインラインを使うと、開発がシンプルになります。ブランチは必要なときだけ意識的に。 Copyright 2008 Nulab inc. All Rights Reserved.
リリースブランチ ,[object Object],[object Object],[object Object],[object Object],[object Object],/trunk /Release1 リリース 1 /Release2 リリース 2 に 向けての作業 リリース 2 リリース時はブランチを切ろう。 Copyright 2008 Nulab inc. All Rights Reserved.
リリースブランチ(メンテナンス時) ,[object Object],[object Object],/trunk /Release1.0 リリース 1 リリース 2 に 向けての作業 リリース 1.0.1 メンテナンスは前回リリースブランチの最終状態から始める。 Copyright 2008 Nulab inc. All Rights Reserved.
タスクブランチ ,[object Object],[object Object],[object Object],[object Object],/trunk /TaskBranche 実験的な作業 大きな変更はタスクブランチで安全に実験する。 Copyright 2008 Nulab inc. All Rights Reserved.
タグ付け ,[object Object],[object Object],[object Object],/trunk /Release1 リリース 1 /Release2 リリース 2 に 向けての作業 リリース 2 タグを付けて「リリース構成」を記録しましょう。忘れやすいのですぐにやること。 Copyright 2008 Nulab inc. All Rights Reserved.
タグ&ブランチの例 /project1 /branches /1.0.x  ・・・リリースブランチ /1.1.x /postgresql-support ・・・タスクブランチ /tags /1.0.0  ・・・リリースタグ /1.0.1 /1.1.0 /trunk  ・・・メインライン Copyright 2008 Nulab inc. All Rights Reserved.
マージ ,[object Object],[object Object],[object Object],/trunk 1 /Release1.0 3 4 6 5 2 マージ! Copyright 2008 Nulab inc. All Rights Reserved.
マージの具体例 /trunk 1 /Release1.0 3 4 6 5 2 A B C A B c D A c D a B C A c D 作業コピー ① マージ先を チェックアウト ② マージ元の 差分を適用 ③ 競合が起きた場合は、手作業で修正 ④ テストの実行 ⑤ マージ結果をコミット マージは変更の差分を作業コピー適用するだけ! Copyright 2008 Nulab inc. All Rights Reserved.
Eclipse によるマージのデモ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
Subversion まとめ ,[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
Maven2 ,[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
Maven2 で何ができるの? 成果物 Maven2 リポジトリ 依存ライブラリ管理 Maven2 POM (プロジェクト定義ファイル) JAR WAR テストレポート JavaDoc プロジェクトサイト テスト 本番サーバ コンパイル パッケージング サイト生成 リリース CI サーバ ( Continuum ) 継続的 ビルド JAR Maven2 が構成管理をサポートするプロジェクト管理・ビルドツール。 Copyright 2008 Nulab inc. All Rights Reserved. Subversion リポジトリ SCM 連携
構成管理で役立つポイントその① 「ビルド手順が統一される」 ,[object Object],<<Seaser2 のビルド >> svn co  https://www.seasar.org/svn/s2container/tags/2008-01-25/seasar2-2.4.22/seasar2 cd seasar2 mvn clean package << 社内プロダクト Backlog のビルド >> svn co  ・・・・・ /backlog/tags/R20071225 cd R2007-12-25  mvn clean package Maven2 を使うと誰でもどのプロジェクトでもビルドができるようになります。 Copyright 2008 Nulab inc. All Rights Reserved.
構成管理で役立つポイントその② 「環境毎のビルドの自動化」 ,[object Object],[object Object],[object Object],[object Object],コンパイル テスト パッケージング ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],手作業で設定ファイルの書き換えはダメ、絶対ダメ。プロファイルを活用しましょう。 Copyright 2008 Nulab inc. All Rights Reserved. 成果物 ソース
構成管理で役立つポイントその③ 「依存ライブラリの把握と管理」 ,[object Object],依存ライブラリとそのバージョンを明示的に管理できるようになります。 <dependency> <groupId> struts  </groupId> <artifactId> struts </artifactId> <version> 1.2.9 </version> </dependency> <<pom.xml への記述例( Struts を使う場合) >> Copyright 2008 Nulab inc. All Rights Reserved. struts 1.2.9 commons-beanutils 3.8.2 commons-logging 1.0 commons-collection 2.0 servlet-api 2.2 commons-lang 2.0
Maven2 まとめ ,[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
具体的な構成管理基盤構築例 社内テスト用仮想サーバ CI& テストサーバ 開発用マシン Subversion サーバ 社内リポジトリサーバ CI& テストサーバ 本番サーバ コミット 成果物の デプロイ ライブラリの ダウンロード 社内ネットワーク インターネット Subversion Apache HTTP Apache HTTP Tomcat Continuum Maven2 Eclipse Subversive Maven2 ソースの チェックアウト ライブラリの ダウンロード VMWare Server XEN Maven2 セントラルリポジトリ サードパーティリポジトリ Apache HTTP ライブラリの ダウンロード チェックアウト Subversion Tomcat Copyright 2008 Nulab inc. All Rights Reserved. Apache Archiva or
社内リポジトリ ,[object Object],社内リポジトリサーバ 社内リポジトリで、社内のライブラリを簡単に利用可能に。 Copyright 2008 Nulab inc. All Rights Reserved. 開発用マシン Maven2 セントラルリポジトリ サードパーティリポジトリ デプロイ 社内ライブラリの JAR 公開されていない JAR 公開されたライブラリの JAR 開発用マシン ローカル リポジトリ ダウンロード ローカル リポジトリ 社内ネットワーク インターネット
CI で開発ラインの故障をガード ,[object Object],[object Object],[object Object],[object Object],[object Object],開発者 Subversion リポジトリ Continuum サーバ ② コミット ③ コミットに連動して最新ソース取得 ④ ビルド・ テスト パッケージング デプロイ pom.xml ① 登録 ⑤ 結果の通知 CI でコードラインの最新状態を見える化しましょう。 Copyright 2008 Nulab inc. All Rights Reserved.
おわりに Copyright 2008 Nulab inc. All Rights Reserved.
構成管理導入のポイント ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
ご静聴ありがとうございました。 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved.
資料 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright 2008 Nulab inc. All Rights Reserved. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Copyright 原著作者: Masahiro Hayata http://www.flickr.com/photos/mrhayata/392881756/ 原著作者: Brian Solis http://www.flickr.com/photos/briansolis/2246628132/ 原著作者: piyush sarode http://www.flickr.com/photos/mrhayata/392881756/ 原著作者: IzaD KasmijaN http://www.flickr.com/photos/hatemaster/933035138/ 原著作者: sarflondondunc http://www.flickr.com/photos/sarflondondunc/2180759074/ 原著作者: Francesco http://www.flickr.com/photos/panico_francesco/2235020848/ 原著作者:三角形 井上恵介 http://www.freemap.jp/ Copyright 2008 Nulab inc. All Rights Reserved.

Más contenido relacionado

La actualidad más candente

Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したいWindows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したいYukio Saito
 
継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策Tetsuo Yamabe
 
マルチテナントECシステムにおける拡張性と最新性の両立
マルチテナントECシステムにおける拡張性と最新性の両立マルチテナントECシステムにおける拡張性と最新性の両立
マルチテナントECシステムにおける拡張性と最新性の両立水野 謙
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編株式会社 NTTテクノクロス
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)Wataru NOGUCHI
 
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これからKenji Kazumura
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介Hiroki Endo
 
Acm2.1 install memo
Acm2.1 install memoAcm2.1 install memo
Acm2.1 install memoYuhki Hanada
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
Trac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTrac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTakahisa Wada
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Yuji Kubota
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
Browser andsecurity2015
Browser andsecurity2015Browser andsecurity2015
Browser andsecurity2015彰 村地
 

La actualidad más candente (20)

Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したいWindows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
 
継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策
 
マルチテナントECシステムにおける拡張性と最新性の両立
マルチテナントECシステムにおける拡張性と最新性の両立マルチテナントECシステムにおける拡張性と最新性の両立
マルチテナントECシステムにおける拡張性と最新性の両立
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
 
Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
AndroidとSELinux
AndroidとSELinuxAndroidとSELinux
AndroidとSELinux
 
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
 
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これから
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
 
Acm2.1 install memo
Acm2.1 install memoAcm2.1 install memo
Acm2.1 install memo
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
Trac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTrac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
 
Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
Browser andsecurity2015
Browser andsecurity2015Browser andsecurity2015
Browser andsecurity2015
 

Destacado

Ultim Presentació Conte Nadal
Ultim Presentació Conte NadalUltim Presentació Conte Nadal
Ultim Presentació Conte Nadalguest4e7425
 
Building Brands with Smart Data
Building Brands with Smart DataBuilding Brands with Smart Data
Building Brands with Smart DataNitin Sharma
 
Reading Online @ Simmons Library
Reading Online @ Simmons LibraryReading Online @ Simmons Library
Reading Online @ Simmons LibraryJohn Rodzvilla
 
2008 Feb To April
2008 Feb To April2008 Feb To April
2008 Feb To AprilEdandDottie
 
Kara and Cory
Kara and CoryKara and Cory
Kara and Corymlrbp
 
Ovetto X Students
Ovetto X StudentsOvetto X Students
Ovetto X Studentsguest8042e6
 
Vectors Scalars 1
Vectors Scalars 1Vectors Scalars 1
Vectors Scalars 1zglazenburg
 
4.1.08 Pascals Triangle2
4.1.08   Pascals Triangle24.1.08   Pascals Triangle2
4.1.08 Pascals Triangle2chrismac47
 
2.26.08 Monte Carlo
2.26.08   Monte Carlo2.26.08   Monte Carlo
2.26.08 Monte Carlochrismac47
 
Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013SEO Summer Festival
 
How to make sales when you dont like selling 2
How to make sales when you dont like selling 2How to make sales when you dont like selling 2
How to make sales when you dont like selling 2Alan Fairweather
 
iPhone UI Design & Development
iPhone UI Design & DevelopmentiPhone UI Design & Development
iPhone UI Design & DevelopmentBess Ho
 
Online Ministry Update: www.uucava.org
Online Ministry Update: www.uucava.orgOnline Ministry Update: www.uucava.org
Online Ministry Update: www.uucava.orgJune Herold
 
Integrated Property Management
Integrated Property ManagementIntegrated Property Management
Integrated Property ManagementDesh Kapoor
 
Lec Kss1033
Lec  Kss1033Lec  Kss1033
Lec Kss1033jebat
 

Destacado (20)

Ultim Presentació Conte Nadal
Ultim Presentació Conte NadalUltim Presentació Conte Nadal
Ultim Presentació Conte Nadal
 
Building Brands with Smart Data
Building Brands with Smart DataBuilding Brands with Smart Data
Building Brands with Smart Data
 
Reading Online @ Simmons Library
Reading Online @ Simmons LibraryReading Online @ Simmons Library
Reading Online @ Simmons Library
 
2008 Feb To April
2008 Feb To April2008 Feb To April
2008 Feb To April
 
Kara and Cory
Kara and CoryKara and Cory
Kara and Cory
 
Ovetto X Students
Ovetto X StudentsOvetto X Students
Ovetto X Students
 
Vectors Scalars 1
Vectors Scalars 1Vectors Scalars 1
Vectors Scalars 1
 
4.1.08 Pascals Triangle2
4.1.08   Pascals Triangle24.1.08   Pascals Triangle2
4.1.08 Pascals Triangle2
 
2.26.08 Monte Carlo
2.26.08   Monte Carlo2.26.08   Monte Carlo
2.26.08 Monte Carlo
 
Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013
 
Reglamento 2016
Reglamento 2016Reglamento 2016
Reglamento 2016
 
Gc Fid Marte
Gc Fid MarteGc Fid Marte
Gc Fid Marte
 
Seven Life Lessons
Seven Life LessonsSeven Life Lessons
Seven Life Lessons
 
Massvs Weight 1
Massvs Weight 1Massvs Weight 1
Massvs Weight 1
 
How to make sales when you dont like selling 2
How to make sales when you dont like selling 2How to make sales when you dont like selling 2
How to make sales when you dont like selling 2
 
iPhone UI Design & Development
iPhone UI Design & DevelopmentiPhone UI Design & Development
iPhone UI Design & Development
 
Online Ministry Update: www.uucava.org
Online Ministry Update: www.uucava.orgOnline Ministry Update: www.uucava.org
Online Ministry Update: www.uucava.org
 
Integrated Property Management
Integrated Property ManagementIntegrated Property Management
Integrated Property Management
 
Lec Kss1033
Lec  Kss1033Lec  Kss1033
Lec Kss1033
 
Paseo Puma 2 K7
Paseo Puma 2 K7Paseo Puma 2 K7
Paseo Puma 2 K7
 

Similar a Devsumi2008

Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)masanori kataoka
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CIkanabuchi
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929hiro345
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現Shigeru Tatsuta
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離Kazushi Kamegawa
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on AzureYoshio Terada
 
Nano Server First Step
Nano Server First StepNano Server First Step
Nano Server First StepKazuki Takai
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewYuji Kubota
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてShigeru Tatsuta
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
はじめてのSubversion(サブバージョン)
はじめてのSubversion(サブバージョン)はじめてのSubversion(サブバージョン)
はじめてのSubversion(サブバージョン)西畑 一馬
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムsatsuki fukazu
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014VirtualTech Japan Inc.
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)akira6592
 

Similar a Devsumi2008 (20)

Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CI
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
Nano Server First Step
Nano Server First StepNano Server First Step
Nano Server First Step
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
はじめてのSubversion(サブバージョン)
はじめてのSubversion(サブバージョン)はじめてのSubversion(サブバージョン)
はじめてのSubversion(サブバージョン)
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
 

Devsumi2008

  • 1. 縣 俊貴 株式会社ヌーラボ   取締役 The Seasar Foundation 14-E-3 Subversion と Maven 2 による構成管理 〜バージョン管理・ビルド・リリース・自動化〜 Copyright 2008 Nulab inc. All Rights Reserved.
  • 2.
  • 3.
  • 4. Copyright 2008 Nulab inc. All Rights Reserved.
  • 5.
  • 7.
  • 8. で、なぜ今構成管理なの? 自動化 昔と比べて効率化や品質保証に 関して手法が普及してきた。 次に開発全体の中で大きく改善できるポイント。 構成管理を「なんとなく」から「意識的」にして、ソフトウェアの安全で迅速な提供を Copyright 2008 Nulab inc. All Rights Reserved.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. タグ&ブランチの例 /project1 /branches /1.0.x ・・・リリースブランチ /1.1.x /postgresql-support ・・・タスクブランチ /tags /1.0.0 ・・・リリースタグ /1.0.1 /1.1.0 /trunk ・・・メインライン Copyright 2008 Nulab inc. All Rights Reserved.
  • 18.
  • 19. マージの具体例 /trunk 1 /Release1.0 3 4 6 5 2 A B C A B c D A c D a B C A c D 作業コピー ① マージ先を チェックアウト ② マージ元の 差分を適用 ③ 競合が起きた場合は、手作業で修正 ④ テストの実行 ⑤ マージ結果をコミット マージは変更の差分を作業コピー適用するだけ! Copyright 2008 Nulab inc. All Rights Reserved.
  • 20.
  • 21.
  • 22.
  • 23. Maven2 で何ができるの? 成果物 Maven2 リポジトリ 依存ライブラリ管理 Maven2 POM (プロジェクト定義ファイル) JAR WAR テストレポート JavaDoc プロジェクトサイト テスト 本番サーバ コンパイル パッケージング サイト生成 リリース CI サーバ ( Continuum ) 継続的 ビルド JAR Maven2 が構成管理をサポートするプロジェクト管理・ビルドツール。 Copyright 2008 Nulab inc. All Rights Reserved. Subversion リポジトリ SCM 連携
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. 具体的な構成管理基盤構築例 社内テスト用仮想サーバ CI& テストサーバ 開発用マシン Subversion サーバ 社内リポジトリサーバ CI& テストサーバ 本番サーバ コミット 成果物の デプロイ ライブラリの ダウンロード 社内ネットワーク インターネット Subversion Apache HTTP Apache HTTP Tomcat Continuum Maven2 Eclipse Subversive Maven2 ソースの チェックアウト ライブラリの ダウンロード VMWare Server XEN Maven2 セントラルリポジトリ サードパーティリポジトリ Apache HTTP ライブラリの ダウンロード チェックアウト Subversion Tomcat Copyright 2008 Nulab inc. All Rights Reserved. Apache Archiva or
  • 29.
  • 30.
  • 31. おわりに Copyright 2008 Nulab inc. All Rights Reserved.
  • 32.
  • 33.
  • 34.
  • 35. Copyright 原著作者: Masahiro Hayata http://www.flickr.com/photos/mrhayata/392881756/ 原著作者: Brian Solis http://www.flickr.com/photos/briansolis/2246628132/ 原著作者: piyush sarode http://www.flickr.com/photos/mrhayata/392881756/ 原著作者: IzaD KasmijaN http://www.flickr.com/photos/hatemaster/933035138/ 原著作者: sarflondondunc http://www.flickr.com/photos/sarflondondunc/2180759074/ 原著作者: Francesco http://www.flickr.com/photos/panico_francesco/2235020848/ 原著作者:三角形 井上恵介 http://www.freemap.jp/ Copyright 2008 Nulab inc. All Rights Reserved.

Notas del editor

  1. はじめに  5 分 構成管理  5 分 Subversion 20 分 デモ 5 分 Maven 10 分 まとめ  5 分 計測結果 (65 分 ) はじめに  5 分 構成管理  8 分 Subversion 20 分 デモ 分 Maven 20 分 まとめ  3 分