SlideShare une entreprise Scribd logo
1  sur  32
ゆるぎー 勉強会 第2回

構成管理入門

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

1
ゆるぎー 勉強会 第2回

アジェンダ

1

2

3

4

5

▌ 自己紹介
▌ 1 はじめに
▌ 2 構成管理入門
▌ 3 現状よく利用されているSubversion
▌ 4 これから利用されるであろうGit
▌ 5 終わりに

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

2
ゆるぎー 勉強会 第2回

自己紹介

1

2

3

4

5

高安 厚思
▌ 活動領域・キーワード
▌ 20年にわたり、ソフトウエアエンジニアリングを適用したシステム開発
やコンサルティングに携わる。
▌ 最新技術を適切に利用した、柔軟なシステム構成の構築、品質管理を中心
として技術マネージメントなどを主要テーマとして活動。
▌ 開発方法論、アーキテクチャ設計コンサルティング、システム全体設計を
得意分野とする。
▌ 東京電機大学非常勤講師、SQuBOK設計開発領域 検討委員、ITSS-DS検討委
員

▌ 資格
▌
▌
▌
▌
▌
▌

ネットワークスペシャリスト
アプリケーションエンジニア(現 システムアーキテクト)
プロジェクトマネージャ
ITストラテジスト
MCSE
MCSD

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

3
ゆるぎー 勉強会 第2回

対外活動

1

2

3

4

5

最近の著書、訳書
▌
▌
▌
▌
▌

「システム設計の謎を解く(ソフトバンク)」
「StrutsによるWebアプリケーション スーパーサンプル(ソフトバンク)」
「Seasar入門[(ソフトバンク)」
「Javaルールブック(エクスメディア)
「ITアーキテクトのためのシステム設計実践ガイド アーキテクチャ編(日経
BP)」など。

連載記事執筆
▌ 日経SYSTEMS誌「Webアーキテクチャ再入門」

講演
▌
▌
▌
▌
▌

SODEC ミッションクリティカル開発
日本テクノセンター セミナー講師
UML Forum講師
日経BP社 ITアーキテクトのためのシステム設計フォーラム 特別講演 講師
Developers Summit 2013 Summer

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

4
ゆるぎー 勉強会 第2回

カバレッジの話

1

2

3

4

5

▌ おーくぼさん、てらひでさんと違って、深夜アニメカバレッジ率0%で
す。
▌ NMB48 カバレッジ率は100%
8枚シングルxタイプA、B、C、劇場版=32枚
1枚アルバムxタイプA、B、C、劇場版=4枚

http://www.nmb48.com/discography/ から引用

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

5
ゆるぎー 勉強会 第2回

1 はじめに

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

6
ゆるぎー 勉強会 第2回

開発者の嗜み

1

2

3

4

5

▌ 仕事で開発をおこなう方は以下の様なことは必ずできてください。
▌ できない方もいるかもしれませんが、これから覚えていきましょう!

単体テスト技法・手法
構成管理手法

EclipseなどのIDEの利用方法

RedmineなどのITSの利用方法

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

7
ゆるぎー 勉強会 第2回

2 構成管理入門

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

8
ゆるぎー 勉強会 第2回

構成管理とは?

1

2

3

4

5

▌ 対象物の構成要素を管理し、構成要素として何があり、いつ変更され
ていて、その時どういう状態だったかを確認できること。
▌ 厳密に言うと、H/WやOS、パッチなどを管理する構成管理もあるため、
ソフトウェア構成管理(Software Configuration Management/SCM)が
正しい名称となります。

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

9
ゆるぎー 勉強会 第2回

構成管理ができていると?

1

2

3

4

5

▌ 文書・ソースコードの状態を表示する
▌ 文書・ソースコードのアクセス制御
▌ 文書・ソースコードの変更情報(いつ、誰が、どのように変更した
か)がわかる
▌ 障害発生時に障害を起こした環境を再現できる
▌ 変更内容をどのタイミングにも戻せる
▌ 変更理由と変更内容がわかる

ツールで出来る部分とプロセスで実現する部分がある。
そこの見極めは大事

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

10
ゆるぎー 勉強会 第2回

変更管理プロセス(参考)

1

2

3

4

▌ 構成管理プロセスとはどういうものでしょうか?
参考までに見てみましょう。
変更管理プロセ
ス

構成管理

変更要求

変更要求の
分析

影響の評価

変更諾否の決定
プロジェクト
計画の変更

要件変更管理

バージョン管理

提出された要件変更要求

影響分析結果

トレーサビリティ
管理
リリース管理

5
ゆるぎー 勉強会 第2回

構成管理の基礎知識 構成管理アイテム

1

2

3

4

5

▌ 構成管理対象を構成管理アイテムと呼びます。
▌ この構成管理アイテムを識別するのは大事なことです。
(管理不要のものもあるので)

基本設計書

成果物

データ設計書

機能設計書

成果物の構成要素

画面設計書

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

12
ゆるぎー 勉強会 第2回

1
構成管理の基礎知識 リビジョン・バージョン

2

3

4

5

▌ 構成管理アイテムそれぞれの履歴をリビジョンと呼びます。
▌ 構成管理アイテムのリリース単位の履歴をバージョンと呼びます。
リビジョン管理
Data.java

Data.java

Data.java

1.0

MainModule.java

1.0

1.2

1.1

MainModule.java

Data.java

1.1

Data.java

1.3

1.4

MainModule.java

複数の
構成管理アイテム

dao.sql

dao.sql

1.2

HEAD

dao.sql

Ver0.1という名前を
つける(バージョン名)
1.0

1.1

1.2

バージョン(リビジョンの組合せ、構成)
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

13
ゆるぎー 勉強会 第2回

構成管理の基礎知識 ワークスペース

1

2

3

4

5

▌ 開発者として構成管理に関わるのはここからです。
ワーク
スペース
リポジト
リ

ワーク
スペース
ワーク
スペース
構成管理アイテムを
変更する担当者
チェックアウト

チェックイン(コミット)

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

14
ゆるぎー 勉強会 第2回

構成管理の基礎知識 ブランチ

1

2

3

4

5

▌ 並行開発を行う場合に、変更が混ざらないように変更履歴を分けて管
理する。主たる変更履歴をトランクと呼び、並行で管理する履歴をブ
ランチと呼ぶ。
Data.java

Data.java

Data.java

トランク
1.0

1.2

1.1

お互いに
影響しあわない

Data.java

Data.java

ブランチ
B1.1

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved

B1.2

15
ゆるぎー 勉強会 第2回

構成管理ツールを利用するために

1

2

3

4

5

▌ 構成管理ツールを利用するにあたり、知っておきたい概念がいくつか
あります。この概念と各ツールの操作方法を結び付けておくと、わか
りやすいでしょう。
チェックイン・チェックアウト
更新・マージ方法
ファイルの移動(リネーム)・削
除方法
変更履歴確認(ファイル・内容単
位)
バージョン登録・ブランチ作成

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

16
ゆるぎー 勉強会 第2回

3 現状よく利用されているSubversion

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

17
ゆるぎー 勉強会 第2回

Apache Subversion

1

2

3

4

5

▌ Apache HTTPDのサーバとして利用できるクライアントサーバ型のバー
ジョン管理システム
▌ 現状、一番よく利用されている。その反面、クライアントサーバ型ゆ
えの課題もある。
▌ すべてのファイルについてコミット番号でのリビジョンを持ってい
る。ゆえに、その番号によって、そのときの断面を切り出すことがで
きるのが特徴。
▌ ロックによる競合回避もできるが、多くの場合競合を許し、後から更
新(コミット)する時にマージ作業をおこなう。

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

18
ゆるぎー 勉強会 第2回

チェックアウト

1

2

3

4

5

▌ リポジトリからチェックアウトするのが最初の一手。
ここに先ほどのURL

チェックアウトするディレクトリで右クリック

チェックアウトするディレクトリで右クリック

svn co http://www.yurugee.com/svn/scm/

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

19
ゆるぎー 勉強会 第2回

チェックイン(コミット)

1

2

3

4

5

▌ ファイルを修正し、リポジトリに反映した場合はチェックイン(コ
ミット)をおこなう。
▌ 自動的に走査して、追加のファイルを見つけてくれるが必要に応じ
て、Addする。

コミットしたいディレクトリで右クリック

コミットメッセージを記述してコミット。

svn ci –m “ログメッセージ”
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

20
ゆるぎー 勉強会 第2回

更新について

1

2

3

4

5

▌ 他の担当者が更新した内容を取り込むために、svn update などをおこ
なう。

更新したいディレクトリで右クリック

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

21
ゆるぎー 勉強会 第2回

移動(リネーム)・削除について

1

2

3

4

5

▌ バージョン管理ツールでこれらの操作をする場合、バージョン管理
ツールの機能を利用する必要がある。
▌ TortoiseSVNではファイルを移動する場合、右クリックで移動させ、コ
ンテキストメニューを利用する
▌ 削除する場合もsvn delete やTortoiseSVNのコンテキストメニューで
削除する。
▌ 単純に変更を取り消して、リポジトリに戻したい場合はRevertを利用
する。

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

22
ゆるぎー 勉強会 第2回

変更履歴の取得方法

1

2

3

4

5

▌ 各フォルダやファイルの変更を追跡するには、svn log やsvn blameを
利用する。

履歴を見たいファイルで右クリック

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

23
ゆるぎー 勉強会 第2回

4 これから利用されるであろうGit

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

24
ゆるぎー 勉強会 第2回

Gitとは

1

2

3

4

5

▌ クライアントサーバ型だったSubvesrionとは異なり、分散サーバ型の
バージョン管理方式を持つのがGitです。
ワーク
スペース

リポジト
リ

ワーク
スペース

マスタ
リポジト
リ

ワーク
スペース

構成管理アイテムを
変更する担当者
チェックアウト
チェックイン(コミット)
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

プル
プッシュ
25
ゆるぎー 勉強会 第2回

クローン(リポジトリの作成)

1

2

3

4

5

▌ マスタリポジトリからチェックアウトするのが最初の一手。
ここに先ほどのURL
▌ Gitでは、それをClone(複製と呼びます)

複製を作るディレクトリで右クリック

git clone http://www.yurugee.com/git/scm/
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

26
ゆるぎー 勉強会 第2回

チェックイン(コミット)

1

2

3

4

5

▌ ファイルを修正し、リポジトリに反映した場合はチェックイン(コ
ミット)をおこなう。
▌ 自動的に走査して、追加のファイルを見つけてくれるが必要に応じ
て、Addする。
▌ Gitの場合、リポジトリにコミットしているだけで、マスタリポジトリ
に反映されていない。
例えばデモ環境のwww.yurugee.comのリポジトリには反映されていな
い。

git commit -a
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

27
ゆるぎー 勉強会 第2回

プッシュ(コミット)

1

2

3

4

5

▌ リポジトリからマスタリポジトリへの反映をプッシュと呼ぶ

コミットメッセージを記述してコミット(コミットしてプッシュ)。
TortiseGitの場合、同時に実行します。

git push
Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

28
ゆるぎー 勉強会 第2回

更新について

1

2

3

4

5

▌ マスタからリポジトリに更新する場合、git pullなどとして
マスタの変更をリポジトリに反映する。
▌ リポジトリからワークスペースを更新する場合はgit updateとして反
映させる。

更新したいディレクトリで右クリック

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

29
ゆるぎー 勉強会 第2回

変更履歴の取得方法

1

2

3

4

5

▌ 各フォルダやファイルの変更を追跡するには、git log やgit blameを
利用する。

SVNの延長線上でGitを説明しました。本当はブランチの考え方や
コミットの考え方が若干異なり、Gitは高機能ですが、まずはこの基本を
押さえましょう!

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

30
ゆるぎー 勉強会 第2回

5 終わりに

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

31
ゆるぎー 勉強会 第2回

構成管理は結構難しい!

1

2

3

4

5

▌ でも、基本的なことは結構簡単。
▌ まずは、開発者あるいはデザイナーとして作成したものを正しく、
構成管理の仕組みに載せられるようにできるようにしましょう!

Copyright (C) 2013

Atsushi Takayasu All Rights Reserved.

32

Contenu connexe

Tendances

Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402IO Architect Inc.
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Linaro
 
Pythonで二段階認証
Pythonで二段階認証Pythonで二段階認証
Pythonで二段階認証aoshiman
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Amazon Web Services
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)A AOKI
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10OutSystems
 
Web engineering notes unit 2
Web engineering notes unit 2Web engineering notes unit 2
Web engineering notes unit 2inshu1890
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務Yutaka Kachi
 
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
 3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ- 3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-yoshitaro yoyo
 
NuxtでAPIサーバー立ててみた
NuxtでAPIサーバー立ててみたNuxtでAPIサーバー立ててみた
NuxtでAPIサーバー立ててみたssuserbf0fbd
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~Yuki Hirano
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 Koichiro Matsuoka
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識shigeya
 
Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionOutSystems
 
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッションEnpel
 

Tendances (20)

Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01
 
Pythonで二段階認証
Pythonで二段階認証Pythonで二段階認証
Pythonで二段階認証
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10
 
Web engineering notes unit 2
Web engineering notes unit 2Web engineering notes unit 2
Web engineering notes unit 2
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
 
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
 3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ- 3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
 
NuxtでAPIサーバー立ててみた
NuxtでAPIサーバー立ててみたNuxtでAPIサーバー立ててみた
NuxtでAPIサーバー立ててみた
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Começando com Amazon Redshift
Começando com Amazon RedshiftComeçando com Amazon Redshift
Começando com Amazon Redshift
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
Joomla - CMS
Joomla - CMSJoomla - CMS
Joomla - CMS
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code Perfection
 
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
 

Similaire à 20101022 構成管理勉強会資料

アプリケーション性能を管理するのに必要なこと
アプリケーション性能を管理するのに必要なことアプリケーション性能を管理するのに必要なこと
アプリケーション性能を管理するのに必要なことAtsushi Takayasu
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発GoAzure
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたYou&I
 
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理junichi anno
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)Kazuko Itoda
 
HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方Hiroshi Nakamura
 
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727Takahiro Kujirai
 
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーDBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーMasaya Ishikawa
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)Kimihiko Kitase
 
技術勉強会(Solr入門編)
技術勉強会(Solr入門編)技術勉強会(Solr入門編)
技術勉強会(Solr入門編)Atsushi Takayasu
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 

Similaire à 20101022 構成管理勉強会資料 (20)

アプリケーション性能を管理するのに必要なこと
アプリケーション性能を管理するのに必要なことアプリケーション性能を管理するのに必要なこと
アプリケーション性能を管理するのに必要なこと
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
 
Go azure tfs_service
Go azure tfs_serviceGo azure tfs_service
Go azure tfs_service
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)
 
HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方
 
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
 
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーDBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
技術勉強会(Solr入門編)
技術勉強会(Solr入門編)技術勉強会(Solr入門編)
技術勉強会(Solr入門編)
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
solr勉強会資料
solr勉強会資料solr勉強会資料
solr勉強会資料
 
Snapdragon-SCORER
Snapdragon-SCORERSnapdragon-SCORER
Snapdragon-SCORER
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 

Plus de Atsushi Takayasu

要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議Atsushi Takayasu
 
要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)Atsushi Takayasu
 
20180130 設計イベント
20180130 設計イベント20180130 設計イベント
20180130 設計イベントAtsushi Takayasu
 
アジャイル勉強会 公開資料
アジャイル勉強会 公開資料アジャイル勉強会 公開資料
アジャイル勉強会 公開資料Atsushi Takayasu
 
要求開発を補完する現状分析
要求開発を補完する現状分析要求開発を補完する現状分析
要求開発を補完する現状分析Atsushi Takayasu
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Atsushi Takayasu
 
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Atsushi Takayasu
 

Plus de Atsushi Takayasu (7)

要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議
 
要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)
 
20180130 設計イベント
20180130 設計イベント20180130 設計イベント
20180130 設計イベント
 
アジャイル勉強会 公開資料
アジャイル勉強会 公開資料アジャイル勉強会 公開資料
アジャイル勉強会 公開資料
 
要求開発を補完する現状分析
要求開発を補完する現状分析要求開発を補完する現状分析
要求開発を補完する現状分析
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
 

20101022 構成管理勉強会資料

  • 1. ゆるぎー 勉強会 第2回 構成管理入門 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 1
  • 2. ゆるぎー 勉強会 第2回 アジェンダ 1 2 3 4 5 ▌ 自己紹介 ▌ 1 はじめに ▌ 2 構成管理入門 ▌ 3 現状よく利用されているSubversion ▌ 4 これから利用されるであろうGit ▌ 5 終わりに Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 2
  • 3. ゆるぎー 勉強会 第2回 自己紹介 1 2 3 4 5 高安 厚思 ▌ 活動領域・キーワード ▌ 20年にわたり、ソフトウエアエンジニアリングを適用したシステム開発 やコンサルティングに携わる。 ▌ 最新技術を適切に利用した、柔軟なシステム構成の構築、品質管理を中心 として技術マネージメントなどを主要テーマとして活動。 ▌ 開発方法論、アーキテクチャ設計コンサルティング、システム全体設計を 得意分野とする。 ▌ 東京電機大学非常勤講師、SQuBOK設計開発領域 検討委員、ITSS-DS検討委 員 ▌ 資格 ▌ ▌ ▌ ▌ ▌ ▌ ネットワークスペシャリスト アプリケーションエンジニア(現 システムアーキテクト) プロジェクトマネージャ ITストラテジスト MCSE MCSD Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 3
  • 4. ゆるぎー 勉強会 第2回 対外活動 1 2 3 4 5 最近の著書、訳書 ▌ ▌ ▌ ▌ ▌ 「システム設計の謎を解く(ソフトバンク)」 「StrutsによるWebアプリケーション スーパーサンプル(ソフトバンク)」 「Seasar入門[(ソフトバンク)」 「Javaルールブック(エクスメディア) 「ITアーキテクトのためのシステム設計実践ガイド アーキテクチャ編(日経 BP)」など。 連載記事執筆 ▌ 日経SYSTEMS誌「Webアーキテクチャ再入門」 講演 ▌ ▌ ▌ ▌ ▌ SODEC ミッションクリティカル開発 日本テクノセンター セミナー講師 UML Forum講師 日経BP社 ITアーキテクトのためのシステム設計フォーラム 特別講演 講師 Developers Summit 2013 Summer Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 4
  • 5. ゆるぎー 勉強会 第2回 カバレッジの話 1 2 3 4 5 ▌ おーくぼさん、てらひでさんと違って、深夜アニメカバレッジ率0%で す。 ▌ NMB48 カバレッジ率は100% 8枚シングルxタイプA、B、C、劇場版=32枚 1枚アルバムxタイプA、B、C、劇場版=4枚 http://www.nmb48.com/discography/ から引用 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 5
  • 6. ゆるぎー 勉強会 第2回 1 はじめに Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 6
  • 7. ゆるぎー 勉強会 第2回 開発者の嗜み 1 2 3 4 5 ▌ 仕事で開発をおこなう方は以下の様なことは必ずできてください。 ▌ できない方もいるかもしれませんが、これから覚えていきましょう! 単体テスト技法・手法 構成管理手法 EclipseなどのIDEの利用方法 RedmineなどのITSの利用方法 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 7
  • 8. ゆるぎー 勉強会 第2回 2 構成管理入門 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 8
  • 9. ゆるぎー 勉強会 第2回 構成管理とは? 1 2 3 4 5 ▌ 対象物の構成要素を管理し、構成要素として何があり、いつ変更され ていて、その時どういう状態だったかを確認できること。 ▌ 厳密に言うと、H/WやOS、パッチなどを管理する構成管理もあるため、 ソフトウェア構成管理(Software Configuration Management/SCM)が 正しい名称となります。 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 9
  • 10. ゆるぎー 勉強会 第2回 構成管理ができていると? 1 2 3 4 5 ▌ 文書・ソースコードの状態を表示する ▌ 文書・ソースコードのアクセス制御 ▌ 文書・ソースコードの変更情報(いつ、誰が、どのように変更した か)がわかる ▌ 障害発生時に障害を起こした環境を再現できる ▌ 変更内容をどのタイミングにも戻せる ▌ 変更理由と変更内容がわかる ツールで出来る部分とプロセスで実現する部分がある。 そこの見極めは大事 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 10
  • 11. ゆるぎー 勉強会 第2回 変更管理プロセス(参考) 1 2 3 4 ▌ 構成管理プロセスとはどういうものでしょうか? 参考までに見てみましょう。 変更管理プロセ ス 構成管理 変更要求 変更要求の 分析 影響の評価 変更諾否の決定 プロジェクト 計画の変更 要件変更管理 バージョン管理 提出された要件変更要求 影響分析結果 トレーサビリティ 管理 リリース管理 5
  • 12. ゆるぎー 勉強会 第2回 構成管理の基礎知識 構成管理アイテム 1 2 3 4 5 ▌ 構成管理対象を構成管理アイテムと呼びます。 ▌ この構成管理アイテムを識別するのは大事なことです。 (管理不要のものもあるので) 基本設計書 成果物 データ設計書 機能設計書 成果物の構成要素 画面設計書 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 12
  • 13. ゆるぎー 勉強会 第2回 1 構成管理の基礎知識 リビジョン・バージョン 2 3 4 5 ▌ 構成管理アイテムそれぞれの履歴をリビジョンと呼びます。 ▌ 構成管理アイテムのリリース単位の履歴をバージョンと呼びます。 リビジョン管理 Data.java Data.java Data.java 1.0 MainModule.java 1.0 1.2 1.1 MainModule.java Data.java 1.1 Data.java 1.3 1.4 MainModule.java 複数の 構成管理アイテム dao.sql dao.sql 1.2 HEAD dao.sql Ver0.1という名前を つける(バージョン名) 1.0 1.1 1.2 バージョン(リビジョンの組合せ、構成) Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 13
  • 14. ゆるぎー 勉強会 第2回 構成管理の基礎知識 ワークスペース 1 2 3 4 5 ▌ 開発者として構成管理に関わるのはここからです。 ワーク スペース リポジト リ ワーク スペース ワーク スペース 構成管理アイテムを 変更する担当者 チェックアウト チェックイン(コミット) Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 14
  • 15. ゆるぎー 勉強会 第2回 構成管理の基礎知識 ブランチ 1 2 3 4 5 ▌ 並行開発を行う場合に、変更が混ざらないように変更履歴を分けて管 理する。主たる変更履歴をトランクと呼び、並行で管理する履歴をブ ランチと呼ぶ。 Data.java Data.java Data.java トランク 1.0 1.2 1.1 お互いに 影響しあわない Data.java Data.java ブランチ B1.1 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved B1.2 15
  • 16. ゆるぎー 勉強会 第2回 構成管理ツールを利用するために 1 2 3 4 5 ▌ 構成管理ツールを利用するにあたり、知っておきたい概念がいくつか あります。この概念と各ツールの操作方法を結び付けておくと、わか りやすいでしょう。 チェックイン・チェックアウト 更新・マージ方法 ファイルの移動(リネーム)・削 除方法 変更履歴確認(ファイル・内容単 位) バージョン登録・ブランチ作成 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 16
  • 17. ゆるぎー 勉強会 第2回 3 現状よく利用されているSubversion Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 17
  • 18. ゆるぎー 勉強会 第2回 Apache Subversion 1 2 3 4 5 ▌ Apache HTTPDのサーバとして利用できるクライアントサーバ型のバー ジョン管理システム ▌ 現状、一番よく利用されている。その反面、クライアントサーバ型ゆ えの課題もある。 ▌ すべてのファイルについてコミット番号でのリビジョンを持ってい る。ゆえに、その番号によって、そのときの断面を切り出すことがで きるのが特徴。 ▌ ロックによる競合回避もできるが、多くの場合競合を許し、後から更 新(コミット)する時にマージ作業をおこなう。 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 18
  • 19. ゆるぎー 勉強会 第2回 チェックアウト 1 2 3 4 5 ▌ リポジトリからチェックアウトするのが最初の一手。 ここに先ほどのURL チェックアウトするディレクトリで右クリック チェックアウトするディレクトリで右クリック svn co http://www.yurugee.com/svn/scm/ Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 19
  • 20. ゆるぎー 勉強会 第2回 チェックイン(コミット) 1 2 3 4 5 ▌ ファイルを修正し、リポジトリに反映した場合はチェックイン(コ ミット)をおこなう。 ▌ 自動的に走査して、追加のファイルを見つけてくれるが必要に応じ て、Addする。 コミットしたいディレクトリで右クリック コミットメッセージを記述してコミット。 svn ci –m “ログメッセージ” Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 20
  • 21. ゆるぎー 勉強会 第2回 更新について 1 2 3 4 5 ▌ 他の担当者が更新した内容を取り込むために、svn update などをおこ なう。 更新したいディレクトリで右クリック Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 21
  • 22. ゆるぎー 勉強会 第2回 移動(リネーム)・削除について 1 2 3 4 5 ▌ バージョン管理ツールでこれらの操作をする場合、バージョン管理 ツールの機能を利用する必要がある。 ▌ TortoiseSVNではファイルを移動する場合、右クリックで移動させ、コ ンテキストメニューを利用する ▌ 削除する場合もsvn delete やTortoiseSVNのコンテキストメニューで 削除する。 ▌ 単純に変更を取り消して、リポジトリに戻したい場合はRevertを利用 する。 Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 22
  • 23. ゆるぎー 勉強会 第2回 変更履歴の取得方法 1 2 3 4 5 ▌ 各フォルダやファイルの変更を追跡するには、svn log やsvn blameを 利用する。 履歴を見たいファイルで右クリック Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 23
  • 24. ゆるぎー 勉強会 第2回 4 これから利用されるであろうGit Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 24
  • 25. ゆるぎー 勉強会 第2回 Gitとは 1 2 3 4 5 ▌ クライアントサーバ型だったSubvesrionとは異なり、分散サーバ型の バージョン管理方式を持つのがGitです。 ワーク スペース リポジト リ ワーク スペース マスタ リポジト リ ワーク スペース 構成管理アイテムを 変更する担当者 チェックアウト チェックイン(コミット) Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. プル プッシュ 25
  • 26. ゆるぎー 勉強会 第2回 クローン(リポジトリの作成) 1 2 3 4 5 ▌ マスタリポジトリからチェックアウトするのが最初の一手。 ここに先ほどのURL ▌ Gitでは、それをClone(複製と呼びます) 複製を作るディレクトリで右クリック git clone http://www.yurugee.com/git/scm/ Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 26
  • 27. ゆるぎー 勉強会 第2回 チェックイン(コミット) 1 2 3 4 5 ▌ ファイルを修正し、リポジトリに反映した場合はチェックイン(コ ミット)をおこなう。 ▌ 自動的に走査して、追加のファイルを見つけてくれるが必要に応じ て、Addする。 ▌ Gitの場合、リポジトリにコミットしているだけで、マスタリポジトリ に反映されていない。 例えばデモ環境のwww.yurugee.comのリポジトリには反映されていな い。 git commit -a Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 27
  • 28. ゆるぎー 勉強会 第2回 プッシュ(コミット) 1 2 3 4 5 ▌ リポジトリからマスタリポジトリへの反映をプッシュと呼ぶ コミットメッセージを記述してコミット(コミットしてプッシュ)。 TortiseGitの場合、同時に実行します。 git push Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 28
  • 29. ゆるぎー 勉強会 第2回 更新について 1 2 3 4 5 ▌ マスタからリポジトリに更新する場合、git pullなどとして マスタの変更をリポジトリに反映する。 ▌ リポジトリからワークスペースを更新する場合はgit updateとして反 映させる。 更新したいディレクトリで右クリック Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 29
  • 30. ゆるぎー 勉強会 第2回 変更履歴の取得方法 1 2 3 4 5 ▌ 各フォルダやファイルの変更を追跡するには、git log やgit blameを 利用する。 SVNの延長線上でGitを説明しました。本当はブランチの考え方や コミットの考え方が若干異なり、Gitは高機能ですが、まずはこの基本を 押さえましょう! Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 30
  • 31. ゆるぎー 勉強会 第2回 5 終わりに Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 31
  • 32. ゆるぎー 勉強会 第2回 構成管理は結構難しい! 1 2 3 4 5 ▌ でも、基本的なことは結構簡単。 ▌ まずは、開発者あるいはデザイナーとして作成したものを正しく、 構成管理の仕組みに載せられるようにできるようにしましょう! Copyright (C) 2013 Atsushi Takayasu All Rights Reserved. 32